Linux 程序管理--ps--top--pstree--
阿新 • • 發佈:2021-01-27
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: 動態檢視程序的變化