进程占用情况记录

 

使用一下命令查使用内存最多的3个进程

ps -aux | sort -k4nr | head -K

说明:

如果是10个进程,K=10,如果是最高的三个,K=3

说明:ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分)

        ps -aux的输出格式如下:

     

第一行相关词语的意思是:

USER 进程的属主;
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;
VSZ 该进程使用的虚拟内存量(KB);
RSS 该进程占用的固定内存量(KB)(驻留中页的数量);
TTY 该进程在那个终端上运行(登陆者的终端位置),若与终端无关,则显示(?)。若为pts/0等,则表示由网络连接主机进程
WCHAN 当前进程是否正在进行,若为-表示正在进行;
START 该进程被触发启动时间;
TIME 该进程实际使用CPU运行的时间;
COMMAND 命令的名称和参数;

 

STAT状态位常见的状态字符

D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换 (从内核2.6开始无效);
X 死掉的进程 (基本很少见);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;

 

  sort -k4nr中(k代表从第几个位置开始,后面的数字4即是其开始位置,结束位置如果没有,则默认到最后;n指代numberic sort,根据其数值排序;r指代reverse,这里是指反向比较结果,输出时默认从小到大,反向后从大到小。)。本例中,可以看到%MEM在第4个位置,根据%MEM的数值进行由大到小的排序。

     head -K(K指代行数,即输出前几位的结果)

     |为管道符号,将查询出的结果导到下面的命令中进行下一步的操作。

    

  查使用CPU最多的3个进程

    ps -aux | sort -k3nr | head -K

    

 

这里有一个title(标题)不显示的问题。

怎么显示标题呢,这有一个简单的办法:

ps aux |head -1; ps -aux | sort -k3rn | head -3

在用awk过滤一下不关心的内容;

ps aux |head -1 |awk '{print $1,$2,$3,$8,$11}';ps -aux | sort -k3rn | head -3|awk '{print $1,$2,$3,$8,$11}'

 

posted @ 2018-10-26 16:05  客Ren  阅读(552)  评论(0编辑  收藏  举报