简介
在Linux系统中,ps
命令用于查看当前系统中的进程。ps -aux
是该命令的一个常用选项组合,用于以用户格式显示所有进程。
ps -aux
输出的信息内容及含义:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 193564 3484 ? Ss Jun23 0:09 /sbin/init
root 2 0.0 0.0 0 0 ? S Jun23 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Jun23 0:00 [ksoftirqd/0]
...
各列的含义
- USER: 运行该进程的用户。
- PID: 进程ID(Process ID),每个进程的唯一标识符。
- %CPU: CPU使用率,表示该进程的CPU使用情况,以百分比表示。
- %MEM: 内存使用率,表示该进程的内存使用情况,以百分比表示。
- VSZ: 虚拟内存大小(Virtual Size),进程占用的虚拟内存大小,单位为KB。
- RSS: 固定内存大小(Resident Set Size),进程占用的物理内存大小,单位为KB。
- TTY: 进程运行的终端设备号。对于?表示与终端无关。
- STAT: 进程状态,其中几个常见的状态如下:
- S: 睡眠(Sleeping)
- R: 运行(Running)
- Z: 僵尸(Zombie)
- D: 不可中断的睡眠(通常是I/O操作)
- T: 停止(Stopped)或被跟踪(Traced)
- START: 进程启动的时间。
- TIME: 进程运行的时间,CPU时间,以小时、分钟、秒表示。
- COMMAND: 启动进程的命令名称和参数。
ps -aux
命令的输出可以帮助系统管理员或用户了解当前系统上运行了哪些进程,以及这些进程的相关信息。通过分析这些信息,可以监控系统的性能,管理资源分配,或者诊断问题。
STAT字段
简介
在 ps
命令的输出中,STAT
字段表示进程的状态。这个字段的字符可以提供关于进程当前状态的信息。例如,STAT
字段的 Ts
表示进程被停止(Stopped)并且是后台进程组中的会话领导。
STAT字段中一些常见状态的含义:
- S: 进程处于睡眠(Sleeping)状态,等待某个事件或信号。
- R: 进程正在运行(Running)或在运行队列中等待调度。
- D: 进程处于不可中断的睡眠(通常是I/O操作)状态。
- Z: 进程是僵尸(Zombie)进程,即进程已经结束但父进程尚未回收其资源。
- T: 进程被停止(Stopped),通常是收到了一个停止信号,如
Ctrl-Z
。 - <: 高优先级进程。
- N: 低优先级进程。
- L: 有页面在内存锁定(Lock)状态的进程。
- s: 包含子进程。
- l: 多线程(multi-threaded)进程。
- +: 位于前台进程组的进程。
Ts
表示一个进程被停止了,并且它是后台进程组中的会话领导。这可能发生在父进程结束,而它的一个或多个子进程仍然在运行的情况下,这些子进程可能会成为会话领导。