linux 查看进程:
1. ps 命令
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
(1)打开终端,输入“ps aux”,点击“回车”,显示linux下所有进程。
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
**上图中各字段解释:**
USER:启动该进程的用户账号名称
PID:该进程的ID号,在当前系统中是唯一的
%CPU:CPU占用的百分比
%MEM:内存占用的百分比
VSZ:占用虚拟内存(swap空间)的大小
RSS:占用常驻内存(物理内存)的大小
TTY:该进程在哪个终端上运行。“?”表未知或不需要终端
STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
START:启动该进程的时间
TIME:该进程占用CPU时间
COMMAND:启动该进程的命令的名称
**总结:ps aux 是以简单列表的形式显示出进程信息。**
(2)ps 查看某一进程
ps aux | grep topic_xxxx
(3)查看某一进程详细的内存情况
cat /proc/id/status
2. top 命令
(1)ps提供的是当前进程当前时刻的快照。如果想状态自动刷新,需要使用top命令
前5行为统计信息:
1、第一行是任务队列信息
top - 11:04:35 up 15 days, 26min, 0 user, load average: 13.19, 13.82, 14.54 同 uptime 命令的执行结果一样,uptime 命令执行结果: $ uptime top - 11:04:35 up 15 days, 26min, 0 user, load average: 13.19, 13.82, 14.54 (1)11:04:35 当前时间 (2)up 15 days, 26min 系统连续运行时间 (3)0 user 当前登录用户数 (4)load average: 13.19, 13.82, 14.54 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到当前时刻的平均值。
2、第二行为进程信息统计数据
Tasks: 2937 total, 3 running, 2929 sleeping, 2 stopped, 3 zombie
(1)total 进程总数
(2)running 正在运行的进程数
(3)sleeping 睡眠的进程数
(4)stopped 停止的进程数
(5)zombie 僵尸进程数
3、第三行CPU信息统计数据
Cpu(s): 25.9%us, 2.5%sy, 0.0%ni, 71.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
(1)25.9%us 用户空间占用CPU百分比
(2)2.5%sy 内核(系统)空间占用CPU百分比
(3)0.0%ni 用户进程空间内改变过优先级的进程占用CPU百分比
(4)71.5%id 空闲CPU百分比
(5)0.0%wa 等待输入输出的CPU时间百分比
(6)0.0%hi 硬件CPU中断占用百分比
(7)0.0%si 软中断占用百分比
(8)0.0%st 虚拟机占用百分比
4、第四行为内存信息数据
Mem: 13192622 total, 3001840 free, 55871036 used, 73053344 buffers
(1)total 物理内存总量
(2)free 空闲内存总量
(3) used 使用的物理内存总量
(4)buffers 用作内核缓存的内存量
5、第五行为交换区信息数据
Swap: 3906556 total, 38896 used, 3867660 free, 70520920 cached (1)total 交换区总量 (2)used 使用的交换区总量 (3)free 空闲交换区总量 (4)cached 缓冲的交换区总量
空闲内存 = 空闲内存总量free + 内核缓存的内存量 buffers + 缓冲的交换区总量cached
6. 第六行以下为区域统计信息
各列含义如下:
序号 列名 含义 a PID 进程id b PPID 父进程id c RUSER Real user name d UID 进程所有者的用户id e USER 进程所有者的用户名 f GROUP 进程所有者的组名 g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ? h PR 优先级 i NI nice值。负值表示高优先级,正值表示低优先级 j P 最后使用的CPU,仅在多CPU环境下有意义 k %CPU 上次更新到现在的CPU时间占用百分比 l TIME 进程使用的CPU时间总计,单位秒 m TIME+ 进程使用的CPU时间总计,单位1/100秒 n %MEM 进程使用的物理内存百分比 o VIRT 虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。 q RES 常驻内存。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA r CODE 可执行代码占用的物理内存大小,单位kb s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb t SHR 共享内存。单位kb u nFLT 页面错误次数 v nDRT 最后一次写入到现在,被修改过的页面数。 w S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程) x COMMAND 命令名/命令行 y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名 z Flags 任务标志,参考 sched.h
按q可退出
(2) 将进程快照储存到文件中
输入下列命令:
1 |
|
你也可以将结果通过邮件发给自己:
1 |
|
(3)对进程按CPU或Mem进行排序
a.运行top
b. 大写的P,按cpu排序或者 top -o %CPU
c. 大写的M,按Mem进行排序 top -o %MEM
(4)查看当前用户
3. pgrep
(1) pgrep 查找某一线程
pgrep能查找当前正在运行的进程并列出符合条件的进程ID。例如显示firefox的进程ID:
1 |
|
(2) 显示进程名为sshd、所有者为root的进程
1 |
|
4. 关闭进程
kill 进程id号
参考blog:
https://www.cnblogs.com/zwgblog/p/5971455.html
https://www.cnblogs.com/hml-blog-com/p/11558369.html