linux下獲取占用CPU資源最多的10個(gè)進(jìn)程,可以使用如下命令組合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
linux下獲取占用內(nèi)存資源最多的10個(gè)進(jìn)程,可以使用如下命令組合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
命令組合解析(針對CPU的,MEN也同樣道理):
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
該命令組合實(shí)際上是下面兩句命令:
ps aux|head -1
ps aux|grep -v PID|sort -rn -k +3|head
可以使用一下命令查使用內(nèi)存最多的10個(gè)進(jìn)程
查看占用cpu最高的進(jìn)程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
或者top (然后按下M,注意這里是大寫)
查看占用內(nèi)存最高的進(jìn)程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
或者top (然后按下P,注意這里是大寫)
該命令組合實(shí)際上是下面兩句命令:
ps aux|head -1
ps aux|grep -v PID|sort -rn -k +3|head
其中第一句主要是為了獲取標(biāo)題(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。
接下來的grep -v PID是將ps aux命令得到的標(biāo)題去掉,即grep不包含PID這三個(gè)字母組合的行,再將其中結(jié)果使用sort排序。
sort -rn -k +3該命令中的-rn的r表示是結(jié)果倒序排列,n為以數(shù)值大小排序,而-k +3則是針對第3列的內(nèi)容進(jìn)行排序,再使用head命令獲取默認(rèn)前10行數(shù)據(jù)。(其中的|表示管道操作)
補(bǔ)充:內(nèi)容解釋
PID:進(jìn)程的ID
USER:進(jìn)程所有者
PR:進(jìn)程的優(yōu)先級別,越小越優(yōu)先被執(zhí)行
NInice:值
VIRT:進(jìn)程占用的虛擬內(nèi)存
RES:進(jìn)程占用的物理內(nèi)存
SHR:進(jìn)程使用的共享內(nèi)存
S:進(jìn)程的狀態(tài)。S表示休眠,R表示正在運(yùn)行,Z表示僵死狀態(tài),N表示該進(jìn)程優(yōu)先值為負(fù)數(shù)
%CPU:進(jìn)程占用CPU的使用率
%MEM:進(jìn)程使用的物理內(nèi)存和總內(nèi)存的百分比
TIME+:該進(jìn)程啟動(dòng)后占用的總的CPU時(shí)間,即占用CPU使用時(shí)間的累加值。
COMMAND:進(jìn)程啟動(dòng)命令名稱
、可以使用以下命令查使用內(nèi)存最多的K個(gè)進(jìn)程
方法1:
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">ps -aux | sort -k4nr | head -K</pre>
如果是10個(gè)進(jìn)程,K=10,如果是最高的三個(gè),K=3
說明:ps -aux中(a指代all——所有的進(jìn)程,u指代userid——執(zhí)行該進(jìn)程的用戶id,x指代顯示所有程序,不以終端機(jī)來區(qū)分)
ps -aux的輸出格式如下:
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19352 1308 ? Ss Jul29 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S Jul29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Jul29 0:11 [migration/0]</pre>
sort -k4nr中(k代表從第幾個(gè)位置開始,后面的數(shù)字4即是其開始位置,結(jié)束位置如果沒有,則默認(rèn)到最后;n指代numberic sort,根據(jù)其數(shù)值排序;r指代reverse,這里是指反向比較結(jié)果,輸出時(shí)默認(rèn)從小到大,反向后從大到小。)。本例中,可以看到%MEM在第4個(gè)位置,根據(jù)%MEM的數(shù)值進(jìn)行由大到小的排序。
head -K(K指代行數(shù),即輸出前幾位的結(jié)果)
|為管道符號,將查詢出的結(jié)果導(dǎo)到下面的命令中進(jìn)行下一步的操作。
方法2:top (然后按下M,注意大寫)
二、可以使用下面命令查使用CPU最多的K個(gè)進(jìn)程
方法1:
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">ps -aux | sort -k3nr | head -K</pre>
方法2:top (然后按下P,注意大寫