linux下檢視最消耗CPU 記憶體的程序

2022-09-05 06:27:10 字數 4669 閱讀 1120

linux下顯示系統程序的命令ps,最常用的有ps -ef 和ps aux。這兩個到底有什麼區別呢?討論這個問題,要追溯到unix系統中的兩種風格

system v風格      bsd  風格

ps -efps 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.00.1

199360

29024 pts/0 sl+ 09:53

0:00 mongo 192.168.1.251:29017

xiaoxie

8530.0

0.0105464

992 pts/1 t 11:38

0:00 /usr/bin/less -is

xiaoxie

8490.0

0.0106080

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

8480.0

0.0106080

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

8450.0

0.0101144

1036 pts/1 t 11:38

0:00

manps

xiaoxie

28600

0.00.0

105464

988 pts/1 t 10:56

0:00 /usr/bin/less -is

xiaoxie

28596

0.00.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.00.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.00.0

101144

1032 pts/1 t 10:56

0:00

manps

xiaoxie

28202

0.00.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、記憶體的程序

linux下檢視最消耗CPU 記憶體的程序

0 檢視程序占用的記憶體情況 ps aux awk end 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....

linux下檢視最消耗CPU 記憶體的程序

linux下顯示系統程序的命令ps,最常用的有ps ef 和ps aux。這兩個到底有什麼區別呢?討論這個問題,要追溯到unix系統中的兩種風格 system 風格 bsd 風格 ps ef ps aux 1.cpu占用最多的前10個程序 ps auxw head 1 ps auxw sort rn...

linux下檢視最消耗CPU 記憶體的程序

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 ...