Linux中ps -ef , ps -aux命令的用法 ##
其中各列的內容意思如下
UID //用戶ID、但輸出的是用戶名
PID //進程的ID
PPID //父進程ID
C //進程占用CPU的百分比
STIME //進程啟動到現在的時間
TTY //該進程在那個終端上運行,若與終端無關,則顯示? 若為pts/0等,則表示由網絡連接主機進程。
CMD //命令的名稱和參數
同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);
+ //位於后台的進程組;
主要是顯示當前運行進程的。順便解釋一下Linux進程:
linux上進程有5種狀態:
運行(正在運行或在運行隊列中等待)
中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)
僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放)
停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行)
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO) R 運行 runnable (on run queue)
S 中斷 sleeping T 停止 traced or stopped
一:ps -ef是用標准的格式顯示java這個進程,顯示的項目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD 字段含義:
(1)UID:用戶ID
(2)PID:進程ID
(3)PPID:父進程ID
(4)C:CPU用於計算執行優先級的因子。數值越大,表明進程是CPU密集型運算,執行優先級會降低;數值越小,表明進程是I/O密集型運算,執行優先級會提高
(5)STIME:進程啟動的時間
(6)TTY:完整的終端名稱
(7)TIME:CPU時間
(8)CMD:完整的啟動進程所用的命令和參數
二:ps aux 是用BSD的格式來顯示 java這個進程,顯示的項目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
各個列代表的意義:
(1)USER:進程的屬主;
(2)PID:進程的ID;
(3)PPID:父進程;
(4)%CPU:進程占用的CPU百分比;
(5)%MEM:占用內存的百分比;
(6)NI:進程的NICE值,數值大,表示較少占用CPU時間;
(7)VSZ:該進程使用的虛擬內存量(KB);
(8)RSS:該進程占用的固定內存量(KB)(駐留中頁的數量);
(9)TT:終端名稱(縮寫),若為?,則代表此進程與終端無關,因為它們是由系統啟動的
(10)TTY:該進程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。若為pts/0等,則表示由網絡連接主機進程
(11)WCHAN:當前進程是否正在進行,若為-表示正在進行;
(12)START:該進程被觸發啟動時間;
(13)TIME:該進程實際使用CPU運行的時間;
(14)COMMAND:命令的名稱和參數;
(15)STAT:進程狀態,其中S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵死進程,T-被跟蹤或者被停止等等
注:COMMADN列如果過長,aux會截斷顯示,而ef不會
綜上:
如果想查看進程的CPU占用率和內存占用率,可以使用aux
如果想查看進程的父進程ID和完整的COMMAND命令,可以使用ef
原文鏈接:https://blog.csdn.net/ygl19920119/java/article/details/79286230