一、获取当前系统占用CPU最高的前10个进程
命令:ps aux|head -1;ps aux|sort -rn -k3|head -10
该命令组合由2条独立的命令组成:
ps aux|head -1
:这一句是为了获取标题(USER PID %CPU %MEN VSZ RSS TTY STAT START TIME COMMAND)信息。而head:-N
可以指定显示的行数为N行,默认显示10行。
ps aux|sort -rn -k3|head -10
:这一句是一个输出加排序组合,ps参数的a指代all,表示所有的进程;u指代user id,就是执行该进程的用户ID;x指代显示所有程序,不以终端机来区分。
接下来是sort命令:
1.参数r指代reverse,这里是指反向比较结果,输出时默认从小到大,反向后从大到小。
2.参数n指代numberic sort,根据其数值排序。
3.k代表根据哪一列进行排序。比如k3指的是数字按照第3列排序。
在本例中,可以看到%CPU在第3个位置,因此k3表示根据%CPU的数值进行由大到小的排序。接下来的|为管道符号,将查询出的结果导入下面的命令中进行下一步的操作。
最后的head -10命令获取默认前10行数据。
二、获取当前系统占用内存最高的前10个进程
ps aux|head -1;ps aux|sort -rn -k4|head -10
:与获取cpu的命令唯一区别在于把k3变为k4,来表示根据%MEM的数值进行由大到小的排序。