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 -1;ps auxw|sort -rn -k5|head -10
ps auxw
u:以用戶為主的格式來顯示程序狀況
x:顯示所有程序,不以終端機來區分
w:采用寬闊的格式來顯示程序狀況
ps auxw|head -1 輸出表頭
尾部的 head -10 輸出前10列
sort -rn -k5
-n是按照數字大小排序,-r是以相反順序,-k 是指定需要排序的欄位
USER //用戶名------------------1 %CPU //進程占用的CPU百分比----------------2 %MEM //占用內存的百分比-------------------3 VSZ //該進程使用的虛擬內存量(KB)-----------4 RSS //該進程占用的固定內存量(KB)resident set size-----------5 STAT //進程的狀態-------------6 START //該進程被觸發啟動時間--------------7 TIME //該進程實際使用CPU運行的時間------------8
去掉x參數的結果
ps auw | head -1; ps auw|sort -rn -k4 | head -10
PID:進程的ID USER:進程所有者 PR:進程的優先級別,越小越優先被執行 NInice:值 VIRT:進程占用的虛擬內存 RES:進程占用的物理內存 SHR:進程使用的共享內存 S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數 %CPU:進程占用CPU的使用率 %MEM:進程使用的物理內存和總內存的百分比 TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值。 COMMAND:進程啟動命令名稱
================================================================================================================
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|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
可以使用一下命令查使用內存最多的10個進程
查看占用cpu最高的進程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
或者top (然后按下 M,注意這里是大寫)
查看占用內存最高的進程
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
其中第一句(ps aux|head -1)主要是為了獲取標題(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。
接下來的grep -v PID是將ps aux命令得到的標題去掉,即grep不包含PID這三個字母組合的行,再將其中結果使用 sort排序。
sort -rn -k +3該命令中的-rn的r表示是結果倒序排列,n為以數值大小排序,而-k +3則是針對第3列的內容進行排序,再使用head命令獲取默認前10行數據。(其中的|表示管道操作)