Linux - top命令監控列表的詳細解析


學習top命令

可看此博文:https://www.cnblogs.com/poloyy/p/12551943.html

 

統計信息區(系統資源信息區)

前五行,即列表上方的五行

 

第一行:輸出系統任務隊列信息

  • 18:46:38:系統當前時間 
  • up 2days 1:54:系統開機后到現在的總運行時間
  • 1 user:當前登錄用戶數
  • load average: 0, 0.01, 0.05:系統負載,系統運行隊列的平均利用率,可認為是可運行進程的平均數;三個數值分別為 1分鍾、5分鍾、15分鍾前到現在的平均值;單核CPU中load average的值=1時表示滿負荷狀態,多核CPU中滿負載的load average值為1*CPU核數

 

第二行:任務進程信息

  • total:系統全部進程的數量
  • running:運行狀態的進程數量
  • sleeping:睡眠狀態的進程數量
  • stoped:停止狀態的進程數量
  • zombie:僵屍進程數量

 

第三行:CPU信息

  • us用戶空間占用CPU百分比
  • sy內核空間占用CPU百分比
  • ni:已調整優先級的用戶進程的CPU百分比
  • id空閑CPU百分比,越低說明CPU使用率越高
  • wa:等待IO完成的CPU百分比
  • hi:處理硬件中斷的占用CPU百分比
  • si:處理軟中斷占用CPU百分比
  • st:虛擬機占用CPU百分比

 

第四行:物理內存信息

以下內存單位均為MB

  • total:物理內存總量
  • free:空閑內存總量
  • used:使用中內存總量
  • buff/cacge:用於內核緩存的內存量

 

第五行:交換區內存信息

  • total:交換區總量
  • free:空閑交換區總量
  • used:使用的交換區總量
  • avail Mem:可用交換區總量

注:如果used不斷在變化, 說明內核在不斷進行內存和swap的數據交換,說明內存真的不夠用了

 

問題:內存空間還剩多少空閑呢?

答案:空閑內存=空閑內存總量+緩沖內存量 +可用交換區總量

 

進程信息區(進程列表)

  • PID:進程號
  • USER:運行進程的用戶
  • PR:優先級
  • NI:nice值。負值表示高優先級,正值表示低優先級
  • VIRT:進程虛擬內存的大小,只要是進程申請過的內存,即便還沒有真正分配物理內存,也會計算在內;VIRT=SWAP+RES
  • RES:進程實際使用的物理內存大小,不包括 Swap 和共享內存
  • SHR:共享內存大小,比如與其他進程共同使用的共享內存、加載的動態鏈接庫以及程序的代碼段等
  • S:進程狀態
  • %CPU:CPU 使用率
  • %MEM:進程使用武力內存占系統總內存的百分比
  • TIME+:上次啟動后至今的總運行時間
  • COMMAND:命令名or命令行

 

內存的重點

  • 虛擬內存通常並不會全部分配給物理內存,從上面的輸出可以發現每個進程的虛擬內存都比物理內存大得多
  • 共享內存 SHR 並不一定是共享的,比如程序的代碼段、非共享的動態鏈接庫
  • SHR 也包括了進程間真正共享的內容,所以在計算多個進程的內存使用時,不要把所有進程的 SHR 直接相加得出結果

 

%CPU

  • 表示進程的 CPU 使用率
  • 是用戶態和內核態 CPU 使用率的總和(us+sy)
  • 包括進程用戶空間使用的 CPU、通過系統調用執行的內核空間 CPU、在就緒隊列等待運行的 CPU
  • 在虛擬環境中, 它還包括了運行虛擬機占用的 CPU
  • 沒有細分進程的用戶態 CPU 和內核態 CPU

 

進程狀態

  • R=運行狀態
  • S=睡眠狀態
  • D=不可中斷的睡眠狀態
  • T=跟蹤/停止
  • Z=僵屍進程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM