1. 程式人生 > >linux ps aux出來的欄列含義

linux ps aux出來的欄列含義

ps aux輸出格式: 

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 



格式說明: 

USER: 行程擁有者 

PID: pid 

%CPU: 佔用的 CPU 使用率 

%MEM: 佔用的記憶體使用率 

VSZ: 佔用的虛擬記憶體大小 

RSS: 佔用的記憶體大小 

TTY: 終端的次要裝置號碼 (minor device number of tty) 



STAT: 該行程的狀態,linux的程序有5種狀態: 

D 不可中斷 uninterruptible sleep (usually IO) 

R 執行 runnable (on run queue) 

S 中斷 sleeping 

T 停止 traced or stopped 

Z 僵死 a defunct (”zombie”) process 

注: 其它狀態還包括W(無駐留頁), <(高優先順序程序), N(低優先順序程序), L(記憶體鎖頁). 



START: 行程開始時間 

TIME: 執行的時間 

COMMAND:所執行的指令 







1) ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。 
2)ps -A 顯示所有程式。 
3)ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。 
4)ps -e 此引數的效果和指定"A"引數相同。 
5)ps e 列出程式時,顯示每個程式所使用的環境變數。 
6)ps f 用ASCII字元顯示樹狀結構,表達程式間的相互關係。 
7)ps -H 顯示樹狀結構,表示程式間的相互關係。 
8)ps -N 顯示所有的程式,除了執行ps指令終端機下的程式之外。 
9)ps s 採用程式訊號的格式顯示程式狀況。 
10)ps S 列出程式時,包括已中斷的子程式資料。 
11)ps -t  指定終端機編號,並列出屬於該終端機的程式的狀況。 
12)ps u  以使用者為主的格式來顯示程式狀況。 
13)ps x  顯示所有程式,不以終端機來區分。 
ps是顯示當前狀態處於running的程序,grep表示在這些裡搜尋,而ps aux是顯示所有程序和其狀態。 

$ ps aux | grep amoeba 

查到amoeba的程序 

$ kill -s 9 pid 

殺死程序 
14)ps -l     較長,較詳細的顯示該PID的資訊 



# ps -lA |more 

F S   UID   PID  PPID  C PRI  NI ADDR SZ   WCHAN     TTY            TIME          CMD 
4 S     0     1     0        0  76   0     -  1193 109952       ?             00:00:03 init 
1 S     0     2     1        0 -40   -      -     0    migrat        ?             00:00:03 migration/0 
1 S     0     3     1        0  94  19    -     0     ksofti         ?             00:00:00 ksoftirqd/0 
1 S     0     4     1        0 -40   -      -     0    migrat        ?             00:00:02 migration/1 
1 S     0     5     1        0  94  19    -     0    ksofti          ?             00:00:00 ksoftirqd/1 
1 S     0     6     1        0 -40   -      -     0    migrat        ?             00:00:02 migration/2 
1 S     0     7     1        0  94  19    -     0    ksofti          ?             00:00:00 ksoftirqd/2 



相關資訊的意義: 

F  程序的標誌(flag),4表示使用者為超級使用者 

S  程序的狀態(stat),各STAT的意義見下文 

PID   程序的ID 

C   CPU使用資源的百分比 

PRI   priority(優先順序)的縮寫, 
NI     Nice值, 

ADDR  核心功能,指出該程序在記憶體的那一部分,如果是執行的程序,一般都是“-” 

SZ     用掉的記憶體的大小 

WCHAN   當前程序是否正在執行,若為“-”表示正在執行 

TTY     登陸者的終端位置 

TIME   用掉的CPU的時間 

CMD    所執行的指令 



# ps aux |more 
USER       PID %CPU %MEM   VSZ  RSS  TTY                   STAT     START   TIME     COMMAND 
root         1        0.0  0.0       4772  564 ?                         S        Sep22   0:03     init [3] 
root         2        0.0  0.0        0    0        ?                         S        Sep22   0:03     [migration/0] 
root         3        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/0] 
root         4        0.0  0.0        0    0        ?                         S        Sep22   0:02     [migration/1] 
root         5        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/1] 
root         6        0.0  0.0        0    0        ?                         Ss+     Sep22   0:02     [migration/2] 
root         7        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/2] 
root         8        0.0  0.0        0    0        ?                         S        Sep22   0:00     [migration/3] 
root         9        0.0  0.0        0    0        ?                         SN      Sep22   0:00     [ksoftirqd/3] 
root        10       0.0  0.0        0    0        ?                         S<      Sep22    0:00     [migration/4] 

上述欄位解釋: 

USER 程序的屬主; 
PID   程序的ID; 
PPID    父程序; 
%CPU   程序佔用的CPU百分比; 
%MEM  佔用記憶體的百分比; 
NI        程序的NICE值,數值大,表示較少佔用CPU時間; 
VSZ     該程序使用的虛擬記憶體量(KB); 
RSS     該程序佔用的固定記憶體量(KB)(駐留中頁的數量); 
TTY     該程序在那個終端上執行(登陸者的終端位置),若與終端無關,則顯示(?)。若為pts/0等,則表示由網路連線主機程序 
WCHAN  當前程序是否正在進行,若為-表示正在進行; 
START   該程序被觸發啟動時間; 
TIME      該程序實際使用CPU執行的時間; 
COMMAND   命令的名稱和引數; 

STAT狀態位常見的狀態字元 

D 無法中斷的休眠狀態(通常 IO 的程序); 
R 正在執行可中在佇列中可過行的; 
S 處於休眠狀態; 
T 停止或被追蹤; 
W 進入記憶體交換  (從核心2.6開始無效); 
X 死掉的程序   (基本很少見); 
Z 殭屍程序; 
< 優先順序高的程序 
N 優先順序較低的程序 
L 有些頁被鎖進記憶體; 
s 程序的領導者(在它之下有子程序); 
l 多程序的(使用 CLONE_THREAD, 類似 NPTL pthreads); 
+ 位於後臺的程序組;