1. 程式人生 > 其它 >Linux 程序管理--ps--top--pstree--

Linux 程序管理--ps--top--pstree--

技術標籤:linuxlinux

1. ps: 檢視某個時間點的程序執行情況

# 檢視系統所有程序資料
ps aux
ps -lA
# 檢視系統所有程序資料,連同部分程序樹狀態
ps axjf
常見引數:
-A   顯示所有程序(同-e)
-u   有效使用者相關程序
-f   完整格式輸出

1.1 ps aux (檢視系統所有程序)

USER:  程序所屬使用者
%CPU:  使用CPU
%MEM:  使用實體記憶體
VSZ:   使用虛擬記憶體量(KB)
RSS:   佔有固定記憶體量(KB)
TTY:   執行的終端機
STAT:  程序目前狀態
START: 程序被觸發啟動的時間
TIME: 程序實際花費的cpu執行時間;
COMMAND: 此程序的觸發命令

1.2 ps -l (僅檢視自己bash相關程序)

F: 代表程序標誌(process flags),說明程序的許可權
   4:許可權為root;    1:此子程序僅可複製fork,而無法執行exec;
S: 代表程序狀態(STAT)
   R: runing; S: sleep; D: 不可喚醒的睡眠狀態(可能在等待IO)
   T: stop 後臺暫停或除錯(traced)狀態; 
   Z: 殭屍狀態,已經終止卻無法被刪除
C: cpu使用率
PRI/NI: (Priority/Nice),代表程序被cpu執行的優先順序,越小優先順序越高
ADDR: 是kernel function,指出程序在記憶體的哪個部分,-代表running;
SZ: 代表程序用掉多少記憶體
WCHAN: 目前程序是否正在執行,-代表running;
TTY: 終端機位置,pts/n 代表遠端登入;
TIME: 程序實際花費的cpu執行時間;
CMD: 此程序的觸發命令

1.3 pstree 顯示程序樹

殭屍(zombie)程序:該程序已經執行完畢,或者因故應該要終止了,但其父程序卻無法完整的將該程序結束掉,而造成其一直存在記憶體中。

若某程序的CMD後面還接上<defunct>時,其就是殭屍程序。

2. top: 動態檢視程序的變化