Linux下如何查看哪些進程占用的CPU內(nèi)存資源最多

linux下獲取占用CPU資源最多的10個進程,可以使用如下命令組合:

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

linux下獲取占用內(nèi)存資源最多的10個進程,可以使用如下命令組合:

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

該命令組合實際上是下面兩句命令:

ps aux|head -1

ps aux|grep -v PID|sort -rn -k +3|head



可以使用一下命令查使用內(nèi)存最多的10個進程

查看占用cpu最高的進程

ps?aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

或者top (然后按下M,注意這里是大寫)

查看占用內(nèi)存最高的進程

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

或者top (然后按下P,注意這里是大寫)

該命令組合實際上是下面兩句命令:

ps aux|head -1

ps aux|grep -v PID|sort -rn -k +3|head

其中第一句主要是為了獲取標題(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。

接下來的grep -v PID是將ps aux命令得到的標題去掉,即grep不包含PID這三個字母組合的行,再將其中結(jié)果使用sort排序。

sort -rn -k +3該命令中的-rn的r表示是結(jié)果倒序排列,n為以數(shù)值大小排序,而-k +3則是針對第3列的內(nèi)容進行排序,再使用head命令獲取默認前10行數(shù)據(jù)。(其中的|表示管道操作)

補充:內(nèi)容解釋

PID:進程的ID

USER:進程所有者

PR:進程的優(yōu)先級別,越小越優(yōu)先被執(zhí)行

NInice:值

VIRT:進程占用的虛擬內(nèi)存

RES:進程占用的物理內(nèi)存

SHR:進程使用的共享內(nèi)存

S:進程的狀態(tài)。S表示休眠,R表示正在運行,Z表示僵死狀態(tài),N表示該進程優(yōu)先值為負數(shù)

%CPU:進程占用CPU的使用率

%MEM:進程使用的物理內(nèi)存和總內(nèi)存的百分比

TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值。

COMMAND:進程啟動命令名稱




、可以使用以下命令查使用內(nèi)存最多的K個進程

方法1:

ps -aux | sort -k4nr | head -K

如果是10個進程,K=10,如果是最高的三個,K=3

說明:ps -aux中(a指代all——所有的進程,u指代userid——執(zhí)行該進程的用戶id,x指代顯示所有程序,不以終端機來區(qū)分)

??????? ps -aux的輸出格式如下:

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]

?????sort -k4nr中(k代表從第幾個位置開始,后面的數(shù)字4即是其開始位置,結(jié)束位置如果沒有,則默認到最后;n指代numberic sort,根據(jù)其數(shù)值排序;r指代reverse,這里是指反向比較結(jié)果,輸出時默認從小到大,反向后從大到小。)。本例中,可以看到%MEM在第4個位置,根據(jù)%MEM的數(shù)值進行由大到小的排序。

?????head -K(K指代行數(shù),即輸出前幾位的結(jié)果)

?????|為管道符號,將查詢出的結(jié)果導到下面的命令中進行下一步的操作。

方法2:top?(然后按下M,注意大寫)

二、可以使用下面命令查使用CPU最多的K個進程

方法1:

ps -aux | sort -k3nr | head -K

方法2:top?(然后按下P,注意大寫)

https://www.cnblogs.com/sparkbj/p/6148817.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容