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); + //位於后台的進程組;