Linux ps命令使用详解
ps命令常见使用方法有两种,另外我们可以通过一写参数对ps结果进行筛选和过滤。分别是:
那这两个命令有什么区别呢?下面将对这两个命令进行详细说明和解释。
ps -ef
返回信息的格式:
对以上各列信息进行解释:
- uid : 用户id
- pid : 当前进程的id
- ppid : 当前进程的父进程id
- C : 进程占用CPU的百分比
- STIME : 进程启动时间
- CMD : 进程启动命令
上述返回值比较容易理解,不一一解释
ps aux
返回信息的格式:
对以上信息解释:
- user : 用户名
- pid : 进程id
- %CPU : 进程运行占用CPU的百分比
- %MEM : 进程占用内存的百分比
- VSZ : 该进程使用的虚拟内存量,表示一个程序完全驻留在内存中占用的虚拟内存量
- RSS : 该进程占用的固定内存量
- TTY : 终端名
- START : 进程开启时间
- STAT : 进程的状态
- TIME : 该进程实际使用的CPU时间
- COMMAND : 进程运行指令
上述比较重要的信息主要包括VSZ,RSS以及STAT。
VSZ表示一个程序完全驻留在内存中占用的内存量,其包括程序链接的动态链接库的大小,栈的大小以及代码段的大小。(手动算过,但是栈的大小很迷,貌似数组在栈中的大小与同类型变量的大小相同,待验证)。
RSS包括运行过程中实际被加载到内存中的动态链接库,可执行文件以及栈的大小。
STAT为当前进程的运行状态。其包括多种状态,具体解释如下所述:
- D : 不可中断(通常是IO进程)
- R : 正在运行或者在队列中的进程
- S : 处在休眠状态的进程
- T : 停止或者被追踪
- Z : 僵尸进程
- W : 进入内存交换
- X : 死掉的进程
- < : 优先级较高的进程
- n : 优先级较低的进程
- s : 包含子进程
- + : 位于后台进程组
可以在上述命令的基础上对查询结果进行筛选,如我们想要对内存占用量进行排序,方法如下:
|
|