1. 程式人生 > 實用技巧 >top、ps -ef、ps aux的區別及內容詳解

top、ps -ef、ps aux的區別及內容詳解

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); +   //位於後臺的程序組;