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|headlinux
命令組合解析(針對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 spa
能夠使用一下命令查使用內存最多的10個進程code
查看佔用cpu最高的進程blog
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head排序
或者top (而後按下P,注意這裏是大寫)進程
查看佔用內存最高的進程內存
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head資源
或者top (而後按下M,注意這裏是大寫)it
該命令組合其實是下面兩句命令:io
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這三個字母組合的行,再將其中結果使用sort排序。
sort -rn -k +3該命令中的-rn的r表示是結果倒序排列,n爲以數值大小排序,而-k +3則是針對第3列的內容進行排序,再使用head命令獲取默認前10行數據。(其中的|表示管道操做)
補充:內容解釋
PID:進程的ID
USER:進程全部者
PR:進程的優先級別,越小越優先被執行
NInice:值
VIRT:進程佔用的虛擬內存
RES:進程佔用的物理內存
SHR:進程使用的共享內存
S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值爲負數
%CPU:進程佔用CPU的使用率
%MEM:進程使用的物理內存和總內存的百分比
TIME+:該進程啓動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
COMMAND:進程啓動命令名稱
一.能夠使用如下命令查使用內存最多的K個進程
方法1:
ps -aux | sort -k4nr | head -K
若是是10個進程,K=10,若是是最高的三個,K=3
說明:ps -aux中(a指代all——全部的進程,u指代userid——執行該進程的用戶id,x指代顯示全部程序,不以終端機來區分)
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表明從第幾個位置開始,後面的數字4便是其開始位置,結束位置若是沒有,則默認到最後;n指代numberic sort,根據其數值排序;r指代reverse,這裏是指反向比較結果,輸出時默認從小到大,反向後從大到小。)。本例中,能夠看到%MEM在第4個位置,根據%MEM的數值進行由大到小的排序。
head -K(K指代行數,即輸出前幾位的結果)
|爲管道符號,將查詢出的結果導到下面的命令中進行下一步的操做。
方法2:top (而後按下M,注意大寫)
2、能夠使用下面命令查使用CPU最多的K個進程
方法1:
ps -aux | sort -k3nr | head -K
方法2:top (而後按下P,注意大寫)