ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。
通过cpu和内存使用来过滤进程
根据 CPU 使用来升序排序
$ ps -aux --sort -pcpu | less
根据 内存 使用来升序排序
ps -aux --sort -pmem | less
ps -aux --sort -pcpu,+pmem | head -n 10
通过CPU和内存的使用率来筛选进程,并且结果能够每秒刷新一次
watch -n 1 ‘ps -aux --sort -pmem, -pcpu|head 20’
查看用户名为pungki的信息
watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’
ps -aux和ps -ef的区别
ps -aux
字段含义:
USER:用户名称
PID:进程号
%CPU:进程占用CPU的百分比
%MEM:进程占用物理内存的百分比
VSZ:进程占用的虚拟内存大小(单位:KB)
RSS:进程占用的物理内存大小(单位:KB)
TT:终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的
STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
STARTED:进程的启动时间
TIME:CPU时间,即进程使用CPU的总时间
COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
ps -ef
字段含义:
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
CMD:完整的启动进程所用的命令和参数
COMMADN列如果过长,aux
会截断显示,而ef
不会
综上:
如果想查看进程的CPU占用率和内存占用率,可以使用aux如果想查看进程的父进程ID和完整的COMMAND命令,可以使用
ef