@wzhang1117
2014-05-27T14:42:28.000000Z
字数 461
阅读 3248
linux
sort
head
tail
ps
需求:列出内存占用TOP 10的进程
使用ps命令
ps aux
使用sort命令
ps aux | sort -r -n -k 6
-r:按照递减排序,如果不加,默认按照递增排序
-n:内存占用率是一个数值,需要按照数值排序,否则按照字符表排序
-k 6:指定按第六列排序(第六列为内存占用率)
上面的方法存在一个问题,即sort会将第一行表头当做数据进行排序,因此在排序前使用tail命令将第一行信息去掉
ps aux | tail -n +2 | sort -r -n -k 6
-n +2:从第二行开始到最后
使用head命令
ps aux | tail -n +2 | sort -r -n -k 6 | head -10
-10:取前10行
为了给结果增加一个表头,需要再使用一次ps命令和head命令组合
ps aux | head -1 | ps aux | tail -n +2 | sort -r -n -k 6 | head -10
ps命令本身也可以实现这个功能
ps aux --sort -rss | head -11