# 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,注意大写)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)