linux vmstat輸出方法解析

season0891發表於2009-07-01
轉自:
Vmstat
procs ———–memory———- —swap– —–io—- –system– —-cpu—-
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 100152 2436 97200 289740 0 1 34 45 99 33 0 0 99 0
procs
r 列表示執行和等待cpu時間片的程式數,如果長期大於1,說明cpu不足,需要增加cpu。
b 列表示在等待資源的程式數,比如正在等待I/O、或者記憶體交換等。
cpu 表示cpu的使用狀態
us 列顯示了使用者方式下所花費 CPU 時間的百分比。us的值比較高時,說明使用者程式消耗的cpu時間多,但是如果長期大於50%,需要考慮最佳化使用者的程式。
sy 列顯示了核心程式所花費的cpu時間的百分比。這裡us + sy的參考值為80%,如果us+sy 大於 80%說明可能存在CPU不足。
wa 列顯示了IO等待所佔用的CPU時間的百分比。這裡wa的參考值為30%,如果wa超過30%,說明IO等待嚴重,這可能是磁碟大量隨機訪問造成的,也可能磁碟或者磁碟訪問控制器的頻寬瓶頸造成的(主要是塊操作)。
id 列顯示了cpu處在空閒狀態的時間百分比
system 顯示採集間隔內發生的中斷數
in 列表示在某一時間間隔中觀測到的每秒裝置中斷數。
cs列表示每秒產生的上下文切換次數,如當 cs 比磁碟 I/O 和網路資訊包速率高得多,都應進行進一步調查。
memory
swpd 切換到記憶體交換區的記憶體數量(k表示)。如果swpd的值不為0,或者比較大,比如超過了100m,只要si、so的值長期為0,系統效能還是正常
free 當前的空閒頁面列表中記憶體數量(k表示)
buff 作為buffer cache的記憶體數量,一般對塊裝置的讀寫才需要緩衝。
cache: 作為page cache的記憶體數量,一般作為檔案系統的cache,如果cache較大,說明用到cache的檔案較多,如果此時IO中bi比較小,說明檔案系統效率比較好。
swap
si 由記憶體進入記憶體交換區數量。
so由記憶體交換區進入記憶體數量。
IO
bi 從塊裝置讀入資料的總量(讀磁碟)(每秒kb)。
bo 塊裝置寫入資料的總量(寫磁碟)(每秒kb)
這裡我們設定的bi+bo參考值為1000,如果超過1000,而且wa值較大應該考慮均衡磁碟負載,可以結合iostat輸出來分析。
 vmstat命令輸出分成六個部分:
  (1)程式procs:
  r:在執行佇列中等待的程式數 。
  b:在等待io的程式數 。
  (2)記憶體memoy:
  swpd:現時可用的交換記憶體(單位KB)。
  free:空閒的記憶體(單位KB)。
  buff: 緩衝去中的記憶體數(單位:KB)。
  cache:被用來做為快取記憶體的記憶體數(單位:KB)。
  (3) swap交換頁面
  si: 從磁碟交換到記憶體的交換頁數量,單位:KB/秒。
  so: 從記憶體交換到磁碟的交換頁數量,單位:KB/秒。
  (4) io塊裝置:
  bi: 傳送到塊裝置的塊數,單位:塊/秒。
  bo: 從塊裝置接收到的塊數,單位:塊/秒。
  (5)system系統:
  in: 每秒的中斷數,包括時鐘中斷。
  cs: 每秒的環境(上下文)切換次數。
  (6)cpu中央處理器:
  cs:使用者程式使用的時間 。以百分比表示。
  sy:系統程式使用的時間。 以百分比表示。
  id:中央處理器的空閒時間 。以百分比表示。
  如果 r經常大於 4 ,且id經常小於40,表示中央處理器的負荷很重。 如果bi,bo 長期不等於0,表示實體記憶體容量太小。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-608006/,如需轉載,請註明出處,否則將追究法律責任。

相關文章