这个问题是我在一次面试中被问到, 当时我并未回答出来, 我那时候只知道用静态的ps和动态的top查看进程数据.
那么如何按占用内存大小查看Linux下的进程呢?
ps
常用参数
-A 所有进程均显示出来
-a 不与terminal有关的所有进程
-u 有效使用者相关的进程
-x 通常与a一起用,可列出较完整信息
按内存大小排序
ps -aux默认是按PID从小到大显示的,若想按占用内存大小排序则需要借助另外sort命令针对第4列(内存所在列)排序:
ps -aux | sort -k4rn
如果我们只想看前n个进程, 还可以借助head命令,比如查看前10个占用内存最大的进程:
ps -aux | sort -k4rn | head -n 10
我们还可以借助awk来指定显示哪几列信息: