linux進程查看系統進程信息命令主要分爲:靜態進程查看命令(ps)、動態進程查看命令(top)和查看進程樹命令(pstree),下面分別介紹這幾個進程: linux
ps命令格式: ps -aux 查看系統全部進程 chrome
ps -lA 查看全部系統的數據 ubuntu
ps axjf 連通部分進程樹狀態 bash
-A:與-e意思同樣,表列出全部進程 負載均衡
-a :不與terminal有關的進程 優化
-u:有效用戶相關的進程 spa
x:一般與a這個參數一塊兒用,能夠列出完整信息 .net
輸出格式: l:較仔細列出該pid信息 blog
j:工做格式 dns
-f:作一個更爲完整的輸出
ps -l:僅查看本身的bash相關進程
F:進程標誌
4:表示權限爲root
1:表示只能複製,不能執行
S:表示進程的狀態(STAT)
R:running表示正在運行狀態
S:sleep表示沉睡狀態,可是能夠喚醒
D:表示沉睡狀態,不能喚醒,一般這個進程可能在等待I/O的狀況
T:stop表示停在狀態,例如暫停的後臺工做或出錯進程
Z:殭屍進程,進程已經終止但不能提出內存外
UID/PID/PPID:表示用戶的UID/進程的PID號碼/此進程的父進程PID號碼
C:表示CPU的使用率,單位是百分比
PRI/NI:表示此進程被CPU執行的優先級,數字越小,優先級越高
ADDR:支持該進程在內存的那個部分,若該進程正在運行這表示爲「-」
SZ:表示該進程佔用了多少內存
WCHAN:表示該進程是否運行,若在運行這表示爲「-」
TTY:表示登錄終端,如果遠程登錄表示爲pts/h
TIME:表示該進程使用CPU的時間
CMD:command,表示那個命令啓動的該進程
下面介紹 ps -aux 查看系統全部進程
USER:表示該進程所屬用戶
PID:該進程的PID號
%CPU:表示該進程的CPU佔用率
%MEM:表示該進程的物理內存佔用率
VSZ:表示該進程佔用了多少虛擬內存量
RSS:表示該進程佔用了多少固定內存量
TTY:表示登錄端口
STAT:和上面介紹的進程狀態同樣(R/S/D/T/Z進程)
START:該進程觸發啓動的時間
TIME:表示該進程佔用CPU的時間
COMMAND:表示觸動該進程的命令
殭屍進程
一般,形成殭屍進程的緣由是該進程應該已經執行完畢,或是因故應該要終止了,可是該進程的父進程卻沒法完整將該進程結束掉,而形成那個進程一直在內存當中。若是你發現某個進程的CMD後面接上<defunct>時,就表明該進程是殭屍進程,例如:
1 2598 2598 2598 ? -1 Ss 0 0:00 /usr/sbin/hcid<defunct>
當系統不穩定的時候就容易形成所謂的殭屍進程,多是由於程序寫的很差,或者用戶操做不當所形成的。若是系統出現不少殭屍進程,記得要找出父進程,而後好好跟蹤,好好優化主機環境。若是實在不行就只有reboot了
top命令格式
這裏有六行
第一行:表示如今時間,系統開機到如今的時間,多少登錄用戶。負載均衡,在一、五、15分鐘系統平均運行幾個進程的意思,越小表明系統越閒置,若高於1得注意你的系統壓力是否太過繁複了
第二行:表示系統共運行了多少進程,他們分別的運行狀態,注意後面的zombie通常爲0若是爲其餘數,就要注意了,看看到是那個進程是殭屍進程
第三行:表示當下CPU總體負載,須要特別注意的是%wa,這個選項表明的是I/Owait,一般你的系統會變慢都是I/O產生的問題比較大,若是你是多核設備能夠按「1」切換查看不一樣的CPU負載狀況
下面是咱們在 top 命令看到的 CPU 佔用率信息及各項值含義:
Cpu(s): 29.9%us, 17.4%sy, 0.0%ni, 52.4%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
us: User time 用戶時間(User time):表示 CPU 執行用戶進程的時間,包括 nices 時間。一般指望用戶空間 CPU 越高越好。
sy: System time 系統時間(System time):表示 CPU 在內核運行時間,包括 IRQ 和 softirq 時間。系統 CPU 佔用率高,代表系統某部分存在瓶頸。一般值越低越好。
ni: Nice time Nice 時間(Nice time):系統調整進程優先級所花費的時間。
id: Idle time 空閒時間(Idle time):系統處於空閒期,等待進程運行。
wa: Waiting time 等待時間(Waiting time):CPI 在等待 I/O 操做完成所花費的時間。系統部應該花費大量時間來等待 I/O 操做,不然就說明 I/O 存在瓶頸。
hi: Hard Irq time 硬中斷處理時間(Hard Irq time):系統處理硬中斷所花費的時間。
si: SoftIrq time 軟中斷處理時間(SoftIrq time):系統處理軟中斷中斷所花費的時間。
st: Steal time 丟失時間(Steal time):被強制等待(involuntary wait)虛擬 CPU 的時間,此時 hypervisor 在爲另外一個虛擬處理器服務。
第四行與第五行:表示物理內存與虛擬內存使用的狀況,swap的使用要越低越好,若是swap使用率較高表示物理內存不足
第六行及如下:
PID:是進程ID
USER:該進程所屬用戶
PR:priority的縮寫,進程的優先級,值越小優先級越高
NI:nice的縮寫,與priority有關,值越小優先級越高
%CPU:CPU的使用率
%MEM:內存使用率
TIME+:CPU使用時間的累加
值得注意的是:在top中輸入h或者?,能夠顯示幫助
pstree命令格式