top、ps -ef、ps aux的區別及內容詳解
阿新 • • 發佈:2020-09-19
1、top和ps的區別
- ps是靜態檢視程序--------top是動態(持續監控)程序
- ps只是檢視程序-----------top還可以監視系統性能,如平均負載,cpu和記憶體的消耗
2、ps -ef、ps aux的區別
ps檢視程序分為兩種 ps -ef 和 ps aux,兩者沒太大差別,只是輸出的內容略有不同。
具體區別(可跳過,直接看下面的示例):
討論這個問題,要追溯到Unix系統中的兩種風格,System V風格和BSD 風格,ps aux最初用到Unix Style中,
而ps -ef被用在System V Style中,兩者輸出略有不同。現在的大部分Linux系統都是可以同時使用這兩種方式的。
(1) ps -ef 是用標準的格式顯示程序的、其格式如下
其中各列含義:
UID //使用者ID、但輸出的是使用者名稱
PID //程序的ID
PPID //父程序ID
C //程序佔用CPU的百分比
STIME //程序啟動到現在的時間
TTY //該程序在那個終端上執行,若與終端無關,則顯示? 若為pts/0等,則表示由網路連線主機程序。
CMD //命令的名稱和引數
(2) ps aux 是用BSD的格式來顯示、其格式如下
與ps -ef 不同的有列有:
USER //使用者名稱
%CPU //程序佔用的CPU百分比
%MEM //佔用記憶體的百分比
VSZ //該程序使用的虛擬記憶體量(KB)
RSS //該程序佔用的固定記憶體量(KB)(駐留中頁的數量)
STAT //程序的狀態
START //該程序被觸發啟動時間
TIME //該程序實際使用CPU執行的時間
其中STAT狀態位常見的狀態字元有:
D //無法中斷的休眠狀態(通常 IO 的程序);
R //正在執行可中在佇列中可過行的;
S //處於休眠狀態;
T //停止或被追蹤;
W //進入記憶體交換 (從核心2.6開始無效);
X //死掉的程序 (基本很少見);
Z //殭屍程序;
< //優先順序高的程序
N //優先順序較低的程序
L //有些頁被鎖進記憶體;
s //程序的領導者(在它之下有子程序);
l //多執行緒,克隆執行緒(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ //位於後臺的程序組;