通常情况下使用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 这些。
[b] 最后的命令是:sort -r -k3 file.tmp |head -n 6[/b]
假设我们使用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 这些。
[b] 最后的命令是:sort -r -k3 file.tmp |head -n 6[/b]