1. 程式人生 > 其它 >伺服器監控 -TOP命令詳解(下)

伺服器監控 -TOP命令詳解(下)

伺服器效能監控:檢視CPU佔用,記憶體使用,程序di等

用jmeter做效能測試的時候,top命令是最簡單扼要的檢視伺服器CPU和記憶體佔用情況的命令。如下圖就是TOP命令展示出來的結果,下面對結果進行詳細解說。

Mem 實體記憶體:

  1. total : 伺服器實體記憶體總量
  2. used:已經使用的伺服器實體記憶體量
  3. free:快取區
  4. buffers:高速緩衝區

Swap 交換區(磁碟中的一塊空間):

  1. total:交換區總量
  2. used:已經使用的交換區
  3. free:空閒交換區的總量

注:使用 free -m 可以詳細檢視記憶體只用情況

swap 如果超過4G,會讓繁置換,影響IO。(記憶體不夠用時會開啟磁碟置換SWAP,所以影響IO)

列表顯示資訊:

  1. pid:程序號
  2. user:程序使用者名稱
  3. PR:程序優先順序(含義是程序排程器分配給程序的時間長短,單位是時鐘個數,時鐘的長度與CPU的主頻以及作業系統平臺有關,Linux上一般上為10ms,RP值為15則表示這個程序的時間片為 150ms。如果時間片太短,那麼CPU浪費在程序切換上的時間比例就比較大,整體效率降低;而如果時間片太長,則多工實時性以及互動性就無法保證,Linux給每個處理器分配一直執行佇列, 互不影響,程序排程器負責將程序分配到適合的CPU。
  4. NI:表示程序優先順序調整值。負值表示高優先順序。正值表示低優先順序;
  5. VIRT:程序使用的虛擬記憶體總量,單位為Kb,VIRT=swap+RES;
  6. RES:程序使用的、未被換出的實體記憶體大小,單位為Kb,RES=CODE+DATA;
  7. SHR:共享記憶體大小,單位為kb,計算某個程序所佔用的實體記憶體大小 公式:RES-SHR;
  8. data:資料佔用的記憶體。如果top命令沒有顯示,按f鍵可以顯示出來,真正的改程式要求的資料空間,是真正在執行中要使用的;
  9. %CPU:上次更新到現在的CPU佔用百分比;
  10. %MEM:使用實體記憶體百分比;
  11. TIME+:程序使用的CPU時間總計,單位1/100秒,
  12. COMMAND:命令名/程序名

注:top命令預設顯示的是程序的資訊,如果需要顯示執行緒級的資訊,可以使用ps命令,

程序實際使用的記憶體是檢視RES那一列的資訊,VIRT表示程序使用的虛擬記憶體的資料,SHR表示共享記憶體的資料,

預設情況下系統不會顯示程序分配到那個CPU上,如果想要分析每個CPU對應的應用程式可以修改top的預設配置,新增欄位Last used CPU即可。

top命令使用技巧:

  1. 按1:顯示平均/或每個CPU資訊。

  2. 按F:排序,排序完按W,永久生效。
    M:根據駐留記憶體大小進行排序
    P:根據CPU使用百分比大小進行排序
    T:根據時間/累計時間進行排序(TIME+)

  3. 按p:swap程序使用虛擬記憶體的大小
  4. 按j:程序上一次使用的CPU