有一个集群,很多台电脑~在Linux下怎么看这些电脑中CPU使用率最高的10个进程呢?谢谢

有一个集群,很多台电脑~在Linux下怎么看这些电脑中CPU使用率最高的10个进程呢?谢谢,第1张

您好,下面这几个命令组合对于管理RS/6000 AIX系统有帮助:

(1)显示10个消耗CPU最多的进程

# ps aux |head -1 ps aux |sort -rn +2 |head –10

(2)显示10个消耗存储空间最多的进程:

# ps aux |head -1 ps aux |sort -rn +3 |head -10

(3)按顺序显示系统中受罚的进程:

#ps -eakl |head -1 ps -eakl |sort -rn +5

(4)按优先级顺序显示系统中的进程:

#ps -eakl |sort -n +6 |head

(5)按处理时间为顺序显示系统中的前十个进程:

#ps vx |head -1 ps vx |grep -v PID |sort -rn +3 |head –10

(6)按实际内存使用的多少顺序显示系统中的前十个进程:

#ps vx |head -1 ps vx |grep -v PID |sort -rn +6 |head –10

(7)按换入页面的多少顺序显示系统中的前10个进程:

#ps vx |head -1 ps vx |grep -v PID |sort -rn +4 |head -10

或者使用topas命令,左下角栏:

NamePID CPU% PgSp Owner% Used 1.1

topas962936 0.3 5.5 saqq NFS (calls/sec) % Free 98.8

sched 4386 0.0 0.4 rootServerV2 0

getty123094 0.0 0.4 rootClientV2 0 Press:

gil 28974 0.0 0.9 rootServerV3 0 "h" for help

db2fmp 520462 0.0 34.7 db2idep

看cpu列

定位瓶颈的话就不好说了,要看程序的源码了,需要优化

在终端输入top

按大写P,此时最占CPU的进程会显示再第一行(按CPU占用率降序排列)

按大写M,此时最占内存的进程会显示在第一行(按内存占用率降序排列)

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

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

ps -aux的输出格式如下:

USER PID %CPU %MEMVSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.0 19352 1308 ?Ss Jul29 0:00 /sbin/init

root 2 0.0 0.0 0 0 ?SJul29 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ?SJul29 0:11 [migration/0]

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

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

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

方法2:top (然后按下M,注意大写)

二、可以使用下面命令查使用CPU最多的K个进程

方法1:

ps -aux | sort -k3nr | head -K

方法2:top (然后按下P,注意大写)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8740732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存