linux中查询当前状态下进程瞬间的状态信息的命令是ps,而ps命令常用的格式为:ps -ef 和ps aux。
这两个命令差别不大,主要是显示风格不一样。这需要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中。现在的大部分Linux系统都是可以同时使用这两种方式的。
1.ps -ef
ps -ef命令执行后格式如下:
[test@node1 ~]$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 4月24 ? 00:04:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 4月24 ? 00:00:00 [kthreadd]
root 3 2 0 4月24 ? 00:00:46 [ksoftirqd/0]
root 5 2 0 4月24 ? 00:00:00 [kworker/0:0H]
root 8 2 0 4月24 ? 00:00:01 [migration/0]
root 9 2 0 4月24 ? 00:00:00 [rcu_bh]
root 10 2 0 4月24 ? 00:37:41 [rcu_sched]
root 11 2 0 4月24 ? 00:00:00 [lru-add-drain]
主要有8列,每列的说明如下所示:
列名 | 含义 |
---|---|
UID | 用户ID、但输出的是用户名 |
PID | 进程的ID |
PPID | 父进程的ID |
C | 进程占用CPU的百分比 |
STIME | 该进程被触发启动时间 |
TTY | 该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 |
TIME | 使用掉的CPU时间 |
CMD | 命令的名称和参数 |
2.ps aux
ps aux命令采用BSD的格式,如下所示:
[test@node1 ~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 193576 6644 ? Ss 4月24 4:05 /usr/lib/systemd/systemd --switched-root --system --dese
root 2 0.0 0.0 0 0 ? S 4月24 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 4月24 0:46 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 4月24 0:00 [kworker/0:0H]
root 8 0.0 0.0 0 0 ? S 4月24 0:01 [migration/0]
root 9 0.0 0.0 0 0 ? S 4月24 0:00 [rcu_bh]
root 10 0.2 0.0 0 0 ? S 4月24 37:41 [rcu_sched]
root 11 0.0 0.0 0 0 ? S< 4月24 0:00 [lru-add-drain]
主要有11列,每列的说明如下所示:
列名 | 含义 |
---|---|
USER | 用户名 |
PID | 进程id |
%CPU | 进程占用的CPU百分比 |
%MEM | 进程占用的内存百分比 |
VSZ | 该进程使用的虚拟內存量(KB) |
RSS | 该进程占用的固定內存量(KB)(驻留中页的数量) |
TTY | 进程的状态 |
STAT | 进程的状态 |
START | 该进程被触发启动时间 |
TIME | 该进程实际使用CPU运行的时间 |
COMMAND | 命令的名称和参数 |