转自:http://blog.chinaunix.net/uid-15007890-id-3413584.html
1.CPU占用最多的前10个进程:
ps auxw|head -1;ps auxw|sort -rn -k3|head -10
2.内存消耗最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
3.虚拟内存使用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k5|head -10
4.也可以试试
ps auxw --sort=rss
ps auxw --sort=%cpu
案例6:列出目前所有的正在内存当中的程序
#ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19356 1612 ? Ss 19:45 0:04 /sbin/init
root 2 0.0 0.0 0 0 ? S 19:45 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 19:45 0:00 [migration/0]
省略部分结果
分析说明:
USER:该process是属于哪个使用者账号的
PID:该process的号码
%CPU:该process使用掉的CPU资源百分比
%MEM:该process所占用的物理内存百分比
VSZ:该process使用掉的虚拟内存量(kb)
RSS:该process占用的固定的内存量(kb)
TTY:该process是在哪个终端机上运行,若与终端机无关,则显示 ? ,另外,tty1-tty6表示本机上的登入者程序,若为pts/0等等,则表示为由网络接进主机的程序.
STAT:该程序目前的状态,主要状态有:R(该程序目前正在运行,或者是可被运行),S(该程序目前正在睡眠中,但可被某些讯号唤醒),T(该程序应该已经终止,但是其父进程却无法正常的终止它,造成僵死程序的状态).
START:该process被触发启动的时间
TIME:该process实际使用CPU运作的时间
COMMAND:该程序的实际命令.
sort 命令
-n, --numeric-sort 根据字符串数值比较
-r, --reverse 逆序输出排序结果
-k, --key=位置1[,位置2] 在位置1 开始一个key,在位置2 终止(默认为行尾)