1、能夠使用如下命令查使用內存最多的K個進程線程
方法1:code
ps -aux | sort -k4nr | head -K
若是是10個進程,K=10,若是是最高的三個,K=3blog
說明: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指代行數,即輸出前幾位的結果)it
|爲管道符號,將查詢出的結果導到下面的命令中進行下一步的操做。io
方法2:top (而後按下M,注意大寫)class
2、能夠使用下面命令查使用CPU最多的K個進程thread
方法1:
ps -aux | sort -k3nr | head -K
方法2:top (而後按下P,注意大寫)
ps -T -p 2568 # 查看進程2568內線程狀況