天天看點

vmstat 指令

vmstat指令的含義為顯示虛拟記憶體狀态(“Viryual Memor Statics”),但是它可以報告關于程序、記憶體、I/O等系統整體運作狀态。

文法

選項

參數

執行個體

字段說明:

Procs(程序)

r: 運作隊列中程序數量,這個值也可以判斷是否需要增加CPU。(長期大于1)

b: 等待IO的程序數量。

Memory(記憶體)

swpd: 使用虛拟記憶體大小,如果swpd的值不為0,但是SI,SO的值長期為0,這種情況不會影響系統性能。

free: 空閑實體記憶體大小。

buff: 用作緩沖的記憶體大小。

cache: 用作緩存的記憶體大小,如果cache的值大的時候,說明cache處的檔案數多,如果頻繁通路到的檔案都能被cache處,那麼磁盤的讀IO bi會非常小。

Swap 交換分區

si: 每秒從交換區寫到記憶體的大小,由磁盤調入記憶體。

so: 每秒寫入交換區的記憶體大小,由記憶體調入磁盤。

注意:記憶體夠用的時候,這2個值都是0,如果這2個值長期大于0時,系統性能會受到影響,磁盤IO和CPU資源都會被消耗。有些朋友看到空閑記憶體(free)很少的或接近于0時,就認為記憶體不夠用了,不能光看這一點,還要結合si和so,如果free很少,但是si和so也很少(大多時候是0),那麼不用擔心,系統性能這時不會受到影響的。

IO(現在的Linux版本塊的大小為1kb)

bi: 每秒讀取的塊數

bo: 每秒寫入的塊數

注意:随機磁盤讀寫的時候,這2個值越大(如超出1024k),能看到CPU在IO等待的值也會越大。

system(系統)

in: 每秒中斷數,包括時鐘中斷。

cs: 每秒上下文切換數。

注意:上面2個值越大,會看到由核心消耗的CPU時間會越大。

CPU(以百分比表示)

us: 使用者程序執行時間百分比(user time)

us的值比較高時,說明使用者程序消耗的CPU時間多,但是如果長期超50%的使用,那麼我們就該考慮優化程式算法或者進行加速。

sy: 核心系統程序執行時間百分比(system time)

sy的值高時,說明系統核心消耗的CPU資源多,這并不是良性表現,我們應該檢查原因。

wa: IO等待時間百分比

wa的值高時,說明IO等待比較嚴重,這可能由于磁盤大量作随機通路造成,也有可能磁盤出現瓶頸(塊操作)。

id: 空閑時間百分比

本文轉自 小楊_Ivan 51CTO部落格,原文連結:http://blog.51cto.com/aqiang/1895009

繼續閱讀