一:ps 緩存
ps -l bash
查看屬於本身此次登陸的PID與相關信息列出來(只與本身的bash有關) 網絡
F:表明這個進程標誌(process flags),說明這個進程的權限,常見號碼有:函數
若爲4表示此進程的權限爲root; spa
若爲1則表示此子進程僅可進行復制(fork)而沒法執行(exec); 命令行
S:表明這個進程的狀態(STAT),主要的狀態有: 排序
R(Running):該進程正在運行中; 接口
S(Sleep):該進程目前正在睡眠狀態(idle),但能夠被喚醒(signal); 隊列
D:不可被喚醒的狀態,一般這個進程可能在等待I/O的狀況(ex>打印); 進程
T:中止狀態(stop),多是在工做控制(後臺暫停)或出錯(traced)狀態;
Z(Zombie):「殭屍」狀態,該進程已經終止但卻沒法被刪除至內存外。
UID/PID/PPID:表明此進程被該UID所擁有的/進程的PID號碼/此進程的父進程PID號碼。
C:表明CPU使用率,單位爲百分比。
PRI/NI:Priority/Nice的縮寫,表明此進程被CPU所執行的優先級,數值越小表明此進程越快被CPU執行。
ADDR/SZ/WCHAN:都與內存有關,ADDR是kernel function,指出該進程在內存的哪一個部分,若是是個running的進程,通常會顯示「—」。SZ表明此進程用掉多少內存。WCHAN表示目前進程是否在運行中,一樣,若爲「—」表示正在運行中。
TTY:登陸者的終端位置,若爲遠程登陸使用動態終端接口(pts/n)。
TIME:使用CPU的時間,注意,是此進程實際花費CPU運行的時間,而不是系統時間。
CMD:就是command的縮寫,形成此程序的觸發進程的命令爲什麼。
ps aux
查看系統全部進程數據(靜態) USER:該進程屬於哪一個用戶帳號的;
PID:該進程的進程標識符;
%CPU:該進程使用掉的CPU資源百分比;
%MEM:該進程所佔用的物理內存百分比;
VSZ:該進程所佔用的虛擬內存量(KB);
RSS:該進程所佔用的固定的內存量(KB);
TTY:該進程在哪一個終端機上面運行,若與終端機無關則顯示?另外,tty1~tty6是本機上面的登陸者程序,若爲pts/0等的,則表示爲由網絡鏈接進主機的進程; STAT:該進程目前的狀態,狀態顯示與ps -l的S標識相同(R/S/T/Z);
TIME:該進程實際使用CPU的時間;
COMMAND:該進程的實際命令。
二:top (動態)統計信息區前五行是系統總體的統計信息。
第一行是任務隊列信息,同 uptime 命令的執行結果。其內容以下:
02:44:02 當前時間
up 21 days ,2:12 開機到目前爲止所通過的時間
3 users 當前登陸用戶數
0.56, 0.23, 0.32 系統負載,即任務隊列的平均長度。三個數值分別爲1分鐘、5分鐘、15分鐘前到如今的平均值。
第二行爲進程信息,內容以下:
Tasks: 113 total 進程總數
1 running 正在運行的進程數
112sleeping 睡眠的進程數
0 stopped 中止的進程數
0 zombie 殭屍進程數
第三行爲CPU信息,當有多個CPU時,這些內容可能會超過兩行。內容以下:
Cpu(s):
0.0%us 用戶空間佔用CPU百分比
0.0% sy 內核空間佔用CPU百分比
0.0% ni 用戶進程空間內改變過優先級的進程佔用CPU百分比
0.0% id 空閒CPU百分比
0.0% wa 等待輸入輸出(IO)的CPU時間百分比
0.0% hi cpu處理硬件中斷的時間;
0.0% si cpu處理軟中斷的時間;
第四行爲內存信息,內容以下:
Mem: 1034872k total 物理內存總量
974264k used 使用的物理內存總量
60608k free 空閒內存總量
226140k buffers 用做內核緩存的內存量
第五行爲SWAP信息
Swap: 1534072k total 交換區總量
0used 使用的虛擬內存總量
1534072k free 空閒交換區總量
548268k cached 緩衝的交換區總量。
第六行日後是進程列表,常見的這幾列的意義分別爲:
PID(進程號), USER(運行用戶),PR(優先級),NI(任務nice值),VIRT(虛擬內存用量),RES(物理內存用量), SHR(共享內存用量),S(進程狀態),%CPU(CPU佔用比),%MEM(內存佔用比),TIME+(累計CPU佔用時間)。
除了這些信息以外,top還提供了不少命令能幫咱們更好的解讀這些信息,例如按」M」鍵能夠按內存用量進行排序;
按」P」能夠按CPU使用量進行排序,這樣一來對於分析系統瓶頸頗有幫助;此外,
按「f」能夠進入交互頁面,選擇指定的列顯示;
」r」能夠改變一個進程的nice值;」k」能夠向一個進程發信號;
」z」能夠使用彩色顯示。進程信息區統計信息區域的下方顯示了各個進程的詳細信息。
首先來認識一下各列的含義。
序號 列名 含義
a PID 進程id
b PPID 父進程id
c RUSER Real user name
d UID 進程全部者的用戶id
e USER 進程全部者的用戶名
f GROUP 進程全部者的組名
g TTY 啓動進程的終端名。不是從終端啓動的進程則顯示爲 ?
h PR 優先級
i NI nice值。負值表示高優先級,正值表示低優先級
j P 最後使用的CPU,僅在多CPU環境下有意義
k %CPU 上次更新到如今的CPU時間佔用百分比
l TIME 進程使用的CPU時間總計,單位秒
m TIME+ 進程使用的CPU時間總計,單位1/100秒
n %MEM 進程使用的物理內存百分比
o VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
p SWAP 進程使用的虛擬內存中,被換出的大小,單位kb。
q RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
r CODE 可執行代碼佔用的物理內存大小,單位kb
s DATA 可執行代碼之外的部分(數據段+棧)佔用的物理內存大小,單位kb
t SHR 共享內存大小,單位kb
u nFLT 頁面錯誤次數
v nDRT 最後一次寫入到如今,被修改過的頁面數。
w S 進程狀態。
x COMMAND 命令名/命令行
y WCHAN 若該進程在睡眠,則顯示睡眠中的系統函數名
z Flags 任務標誌,參考 sched.h
D=不可中斷的睡眠狀態
R=運行
S=睡眠
T=跟蹤/中止
Z=殭屍進程
默認狀況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、% CPU、%MEM、TIME+、COMMAND 列。能夠經過下面的快捷鍵來更改顯示內容。
更改顯示內容經過 f 鍵能夠選擇顯示的內容。按 f 鍵以後會顯示列的列表,按 a-z 便可顯示或隱藏對應的列,最後按回車鍵肯定。