1. 程式人生 > >Linux查詢記憶體或CPU佔用最多的幾個程序

Linux查詢記憶體或CPU佔用最多的幾個程序

一、可以使用以下命令查使用記憶體最多的10個程序

方法1:

ps -aux | sort -k4nr | head -10

如果是最高的三個,10改為3即可

命令解釋: 
1. ps:引數a指代all——所有的程序,u指代userid——執行該程序的使用者id,x指代顯示所有程式,不以終端機來區分。ps -aux的輸出格式如下:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

2. sort -k4nr中(k代表從根據哪一個關鍵詞排序,後面的數字4表示按照第四列排序;n指代numberic sort,根據其數值排序;r指代reverse,這裡是指反向比較結果,輸出時預設從小到大,反向後從大到小。)。本例中,可以看到%MEM在第4個位置,根據%MEM的數值進行由大到小的排序。-k3表示按照cpu佔用率排序。

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

引數解釋 

      PID:程序的ID
  USER:程序所有者
  PR:程序的優先級別,越小越優先被執行
  NInice:值
  VIRT:程序佔用的虛擬記憶體
  RES:程序佔用的實體記憶體
  SHR:程序使用的共享記憶體
  S:程序的狀態。S表示休眠,R表示正在執行,Z表示僵死狀態,N表示該程序優先值為負數
  %CPU:程序佔用CPU的使用率
  %MEM:程序使用的實體記憶體和總記憶體的百分比
  TIME+:該程序啟動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
  COMMAND:程序啟動命令名稱

方法3:按記憶體大小排序,打印出所有的程序

ps aux --sort -rss

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

方法1:

ps -aux | sort -k3nr | head -3

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