ps aux 是用BSD的格式來顯示 java這個進程
顯示的項目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
ps -ef 是用標準的格式顯示java這個進程
顯示的項目有:UID , PID , PPID , C , STIME , TTY , TIME , CMDjava
二者的輸出結果差異不大,但展現風格不一樣。aux是BSD風格,-ef是System V風格。這是次要的區別,一個影響使用的區別是aux會截斷command列,而-ef不會。當結合grep時這種區別會影響到結果。tomcat
TTY //該進程在那個終端上運行,若與終端無關,則顯示? 若爲pts/0等,則表示由網絡鏈接主機進程。
%MEM //佔用內存的百分比
VSZ //該進程使用的虛擬內存量(KB)
RSS //該進程佔用的固定內存量(KB)(駐留中頁的數量)網絡
其中STAT狀態位常見的狀態字符有《《《最多見的有5種》》》
D //沒法中斷的休眠狀態(一般 IO 的進程);
R //正在運行可中在隊列中可過行的;
S //處於休眠狀態;
T //中止或被追蹤;
Z //殭屍進程;多線程
< //優先級高的進程
N //優先級較低的進程
L //有些頁被鎖進內存;工具
l //多線程,克隆線程(使用 CLONE_THREAD, 相似 NPTL pthreads);spa
s //進程的領導者(在它之下有子進程);
+ //位於後臺的進程組;線程
ps aux | grep '...' 主要能夠看到 mem的信息及進程的狀態。。。隊列
ps -ef | grep 'tomcat'
ps -ef | grep pid ---》查看全部關聯的子進程進程
若是想查看進程的CPU佔用率和內存佔用率,能夠使用aux
若是想查看進程的父進程ID和完整的COMMAND命令,能夠使用ef
ps 爲咱們提供了進程的一次性的查看,它所提供的查看結果並不動態連續的;若是想對進程時間監控,應該用 top 工具。內存