本文參考《UNIX/Linux系統管理技術手冊》。
操作系統:Debian8.5
僅僅以下常用的三種組合命令的解釋,更加齊全的命令請自行ps --help all 查看。
一、ps -ef
輸出展示:
UID PID PPID C STIME TTY TIME CMDroot 1 0 0 2016 ? 00:00:28 /lib/systemd/systemd --system --deserialize 15root 2 0 0 2016 ? 00:00:00 [kthreadd]root 3 2 0 2016 ? 00:00:25 [ksoftirqd/0]root 5 2 0 2016 ? 00:00:00 [kworker/0:0H]root 7 2 0 2016 ? 00:04:57 [rcu_sched]root 8 2 0 2016 ? 00:00:00 [rcu_bh]......
輸出字段說明:
UID: 進程所屬的用戶。 PID: 進程的ID。 PPID: 父進程的PID。 C: CPU的使用/調度信息。 STIME: 啟動進程的時間。 TTY: 控制終端。 TIME: 消耗CPU的時間。 CMD: 進程執行的命令行。二、ps aux
輸出展示:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 176040 3272 ? Ss 2016 0:28 /lib/systemd/systemd --system --deserialize 15root 2 0.0 0.0 0 0 ? S 2016 0:00 [kthreadd]root 3 0.0 0.0 0 0 ? S 2016 0:25 [ksoftirqd/0]root 5 0.0 0.0 0 0 ? S< 2016 0:00 [kworker/0:0H]root 7 0.0 0.0 0 0 ? S 2016 4:57 [rcu_sched]root 8 0.0 0.0 0 0 ? S 2016 0:00 [rcu_bh]......
輸出字段說明:
USER: 進程的所屬用戶。 PID: 進程的ID。 %CPU: 該進程正在使用的CPU百分比。 %MEM: 該進程正在使用的內存百分比。 VSZ: 進程的虛擬大小。 RSS: 內存中頁的數量。 TTY: 控制終端。 STAT: 當前進程狀態。 R=可運行;D=不可中斷的休眠狀態(如正在等待磁盤);S=休眠狀態(Sleep);T=被跟蹤或者被停止(Stop);Z=僵尸進程(Zombie); 附加標志:
W=進程被交換出去(Progress is swapping out);<=進程優先級高于普通優先級;N=進程優先級低于普通優先級;L=有些頁面被鎖在內存中;s=進程是會話的先導進程(Process is a session leader) START: 進程開始時間。 TIME: 進程已經消耗掉的CPU時間。 COMMAND: 進程執行的命令行。三、ps lax
ps lax運行速度比ps aux快,因為它不必將每個UID轉換成用戶名。
輸出展示:
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND4 0 1 0 20 0 176040 3272 - Ss ? 0:28 /lib/systemd/systemd --system --deserialize 151 0 2 0 20 0 0 0 - S ? 0:00 [kthreadd]1 0 3 2 20 0 0 0 - S ? 0:25 [ksoftirqd/0]1 0 5 2 0 -20 0 0 - S< ? 0:00 [kworker/0:0H]1 0 7 2 20 0 0 0 - S ? 4:58 [rcu_sched]1 0 8 2 20 0 0 0 - S ? 0:00 [rcu_bh]
輸出字段說明:
F: 進程標志。 UID: 進程所屬用戶的ID。 PID: 進程ID。 PPID: 父進程ID。 PRI: 進程的優先級,值越小代表優先級越高。 NI: 進程的謙和度,也可以理解為進程的優先級,值越小代表優先級越高。 VSZ: 進程的虛擬大小。 RSS: 內存中頁的數量。 WCHAN: 進程正在等待的對象地址。 STAT: 當前進程狀態。 R=可運行;D=不可中斷的休眠狀態(如正在等待磁盤);S=休眠狀態(Sleep);T=被跟蹤或者被停止(Stop);Z=僵尸進程(Zombie); 附加標志:
W=進程被交換出去(Progress is swapping out);<=進程優先級高于普通優先級;N=進程優先級低于普通優先級;L=有些頁面被鎖在內存中;s=進程是會話的先導進程(Process is a session leader) TTY: 控制終端。 TIME: 進程已經消耗掉的CPU時間。 COMMAND: 進程執行的命令行。新聞熱點
疑難解答