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);
+ 位於後臺的程序組;