centos-rhel服务器相关 / 未分类 · 2016年1月14日

Linux 查看当前占用CPU或内存最多的K个进程

可以使用一下命令查使用内存最多的5个进程
ps -aux | sort -k4nr | head 5
或者
top (然后按下 M,注意大写)
可以使用一下命令查使用CPU最多的5个进程
ps -aux | sort -k3nr | head 5
解析过程
说明:ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分)
ps -aux的输出格式如下:
root@evankali:~# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 176296 5312 ? Ss 09:59 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 09:59 0:00 [kthreadd]
sort -k4nr中(k代表从第几个位置开始,后面的数字4即是其开始位置,结束位置如果没有,则默认到最后;n指代numberic sort,根据其数值排序;r指代reverse,这里是指反向比较结果,输出时默认从小到大,反向后从大到小。)。本例中,可以看到%MEM在第4个位置,根据%MEM的数值进行由大到小的排序。
head -K(K指代行数,即输出前几位的结果)
|为管道符号,将查询出的结果导到下面的命令中进行下一步的操作。
root@evankali:~# ps -aux | sort -k4nr |head -2
evan 1483 8.0 3.8 2148808 306984 ? Sl 10:06 4:42 /opt/google/chrome/chrome
evan 3328 1.0 2.3 957808 187728 ? Sl 10:27 0:23 /opt/google/chrome/chrome –type=renderer –lang=zh-CN –enable-offline-auto-reload –enable-offline-auto-reload-visible-only –num-raster-threads=2 –content-image-texture-target=3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553 –video-image-texture-target=3553 –disable-accelerated-video-decode –channel=1483.81.874904738 –v8-natives-passed-by-fd –v8-snapshot-passed-by-fd
二、由上类推 可以使用下面命令查使用CPU最多的K个进程 k3
root@evankali:~# ps -aux | sort -k3nr |head -2
evan 2491 17.9 1.8 3817652 147252 ? Sl 10:08 10:28 /usr/lib/virtualbox/VirtualBox –comment win7 –startvm 2670d492-0433-43cb-89d3-18b4b8dd8ac5 –no-startvm-errormsgbox
evan 1483 7.8 3.7 2148808 306732 ? Sl 10:06 4:44 /opt/google/chrome/chrome
方法2 top (然后按下 P,注意大写)
http://www.cnblogs.com/shudonghe/p/3256806.html
http://my.oschina.net/goberl/blog/85816
常用命令组合:
vmstat、sar、mpstat检测是否存在CPU瓶颈;
vmstat、free检测是否存在内存瓶颈;
iostat检测是否存在磁盘I/O瓶颈;
netstat检测是否存在网络I/O瓶颈。