首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

用shell 下令获取占用cpu 最多的前五位

2013-03-26 
用shell 命令获取占用cpu 最多的前五位通常情况下使用ps -axu 来获得系统中所有进程占用资源情况,通常也可

用shell 命令获取占用cpu 最多的前五位
    通常情况下使用ps -axu 来获得系统中所有进程占用资源情况,通常也可以使用top 命令来动态的获得系统中资源占用最多的进程。
     假设我们使用ps -aux > file.tmp来获取linux系统中的进程占用资源情况,并放入一个临时文件中;得出的结果会按照USER PID %CPU %MEM VSZ RSS TTY 等列来排序,现在我们要按照cpu的使用情况来进行排序,那么就需要使用到sort命令。
     sort 命令有按照某一个域来进行排序的功能,默认的域分隔符是空白域,如果想要使用特殊的切割符来分割域,可以使用-t或者--field_seperator='SEP'来进行设置;sort 按照某一或者几个域进行排序的参数是-k / --key, 如果想把cpu的使用作为key 排序那么就需要使用-k3 如果想要使用cpu 和 mem排序那么就需要使用-k3,4 强烈建议试用此功能;
     sort默认情况下是按照正序从小到大排序的,我们此刻需要按照逆序排序,那么就需要用到-r/--reverse 参数了。
     到目前为止,我们这样操作,sort -r -k3 file,tmp;
     如何获得前五位进程呢? 使用head 命令,head -n 6; // 为什么是6呢? 因为ps 打印出来时是自带表头的,也就是PID , %CPU 这些。

    最后的命令是:sort -r -k3 file.tmp |head -n 6

热点排行