閱讀987 返回首頁    go 人物


Linux下vmstat輸出釋疑

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,表示物理內存容量太小。

最後更新:2017-01-04 22:34:32

  上一篇:go Webalizer日誌分析工具安裝和配置
  下一篇:go squid基本的過濾內容網址參數