linux下顯示系統程序的命令ps,最常用的有ps -ef 和ps aux。這兩個到底有什麼區別呢?討論這個問題,要追溯到unix系統中的兩種風格
system v風格 bsd 風格
ps -ef ps aux
1.cpu占用最多的前10個程序:
ps auxw|head -1;ps auxw|sort -rn -k3|head -10
2.記憶體消耗最多的前10個程序
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
3.虛擬記憶體使用最多的前10個程序
ps auxw|head -1;ps auxw|sort -rn -k5|head -10
ps auxw
u:以使用者為主的格式來顯示程式狀況
x:顯示所有程式,不以終端機來區分
w:採用寬闊的格式來顯示程式狀況
ps auxw|head -1
輸出表頭
sort -rn -k5
-n是按照數字大小排序,-r是以相反順序,-k是指定需要排序的字段
轉存失敗
重新上傳取消
轉存失敗
重新上傳取消
轉存失敗
重新上傳
取消user //使用者名稱
%cpu //程序占用的cpu百分比
%mem //占用記憶體的百分比
vsz //該程序使用的虛擬記憶體量(kb)
rss //該程序占用的固定記憶體量(kb)resident set size
stat //程序的狀態
start //該程序被觸發啟動時間
time //該程序實際使用cpu執行的時間
轉存失敗
重新上傳取消
轉存失敗
重新上傳取消
轉存失敗
重新上傳取消
tty (teletype terminal )與程序關聯的終端
串列埠終端(/dev/ttysn)
偽終端(/dev/pty/)
控制終端(/dev/tty)
控制台終端(/dev/ttyn, /dev/console)
虛擬終端(/dev/pts/n)
去掉x引數的結果
ps auw | head -1; ps auw|sort -rn -k4 | head -10
轉存失敗
重新上傳取消
轉存失敗
重新上傳取消
轉存失敗
重新上傳
取消user pid %cpu %mem vsz rss tty stat start time command
xiaofu 25732 0.0 0.1 199360 29024 pts/0 sl+ 09:53 0:00 mongo 192.168.1.251:29017
xiaoxie 853 0.0 0.0 105464 992 pts/1 t 11:38 0:00 /usr/bin/less -is
xiaoxie 849 0.0 0.0 106080 684 pts/1 t 11:38 0:00 sh -c (cd "/usr/share/man" && (echo ".ll 14.8i"; echo ".nr ll 14.8i"; echo ".pl 1100i"; /usr/bin/gunzip -c '/usr/share/man/man1/ps.1.gz'; echo ".\\\""; echo ".pl \n(nlu+10") | /usr/bin/gtbl | /usr/bin/nroff -c -mandoc 2>/dev/null | /usr/bin/less -is)
xiaoxie 848 0.0 0.0 106080 1292 pts/1 t 11:38 0:00 sh -c (cd "/usr/share/man" && (echo ".ll 14.8i"; echo ".nr ll 14.8i"; echo ".pl 1100i"; /usr/bin/gunzip -c '/usr/share/man/man1/ps.1.gz'; echo ".\\\""; echo ".pl \n(nlu+10") | /usr/bin/gtbl | /usr/bin/nroff -c -mandoc 2>/dev/null | /usr/bin/less -is)
xiaoxie 845 0.0 0.0 101144 1036 pts/1 t 11:38 0:00 man ps
xiaoxie 28600 0.0 0.0 105464 988 pts/1 t 10:56 0:00 /usr/bin/less -is
xiaoxie 28596 0.0 0.0 106080 688 pts/1 t 10:56 0:00 sh -c (cd "/usr/share/man" && (echo ".ll 14.8i"; echo ".nr ll 14.8i"; echo ".pl 1100i"; /usr/bin/gunzip -c '/usr/share/man/man1/ps.1.gz'; echo ".\\\""; echo ".pl \n(nlu+10") | /usr/bin/gtbl | /usr/bin/nroff -c -mandoc 2>/dev/null | /usr/bin/less -is)
xiaoxie 28595 0.0 0.0 106080 1296 pts/1 t 10:56 0:00 sh -c (cd "/usr/share/man" && (echo ".ll 14.8i"; echo ".nr ll 14.8i"; echo ".pl 1100i"; /usr/bin/gunzip -c '/usr/share/man/man1/ps.1.gz'; echo ".\\\""; echo ".pl \n(nlu+10") | /usr/bin/gtbl | /usr/bin/nroff -c -mandoc 2>/dev/null | /usr/bin/less -is)
xiaoxie 28592 0.0 0.0 101144 1032 pts/1 t 10:56 0:00 man ps
xiaoxie 28202 0.0 0.0 108320 1988 pts/1 ss 10:41 0:00 -bash
stat取值含義
轉存失敗
重新上傳取消
轉存失敗
重新上傳取消
轉存失敗
重新上傳
取消d //無法中斷的休眠狀態(通常 io 的程序);
r //正在執行可中在佇列中可過行的;
s //處於休眠狀態;
t //停止或被追蹤;
w //進入記憶體交換 (從核心2.6開始無效);
x //死掉的程序 (基本很少見);
z //殭屍程序;
< //優先順序高的程序
n //優先順序較低的程序
l //有些頁被鎖進記憶體;
s //程序的領導者(在它之下有子程序);
l //多執行緒,轉殖執行緒(使用 clone_thread, 類似 nptl pthreads);
+ //位於後台的程序組;
linux下獲取占用CPU資源最多的10個程序
linux下獲取占用cpu資源最多的10個程序,可以使用如下命令組合 ps aux head 1 ps aux grep v pid sort rn k 3 head linux下獲取占用記憶體資源最多的10個程序,可以使用如下命令組合 ps aux head 1 ps aux grep v pid...
Linux查詢記憶體或CPU占用最多的幾個程序
方法1 ps aux sort k4nr head 10如果是最高的三個,10改為3即可 命令解釋 1.ps 引數a指代all 所有的程序,u指代userid 執行該程序的使用者id,x指代顯示所有程式,不以終端機來區分。ps aux的輸出格式如下 user pid cpu mem vsz rss ...
linux檢視占用記憶體或CPU最多的程式
linux檢視占用記憶體最多的程式 ps aux head 1 ps aux grep v pid sort rn k 4 head檢視占用cpu最多的程式 ps aux head 1 ps aux grep v pid sort rn k 3 headuser 程序所屬使用者 pid 程序id c...