vmstat
vmstat命令也是顯示Linux性能指標的方法,它報告了許多信息,理解這些信息有一定難度。
輸出分爲6個類別:進程、內存、交換區、I/O、系統和CPU。與iostat類似,第一個樣本是從最近重新啓動以來的平均值。以下是一個典型的vmstat輸出:
vmstat和許多其他性能命令一樣使用取樣間隔和計數參數。
進程(procs)信息有兩列。r列是可運行進程的數量,b列是阻塞進程的數量。
內存部分有4個報告虛擬內存如何使用的字段。表3-7列出這些字段及其意義。
表3-7 vmstat內存字段
字 段 |
說 明 |
Swpd |
已用的交換空間數量 |
free |
自由RAM數量 |
buff |
緩衝使用的RAM數量 |
cache |
文件系統緩存使用的RAM數量 |
接下來是交換(swap)指標。交換隻是一個古老術語,但是顯然不會消失。交換涉及分頁讀取或寫入磁盤的進程所消耗的所有內存。它將顯示系統達到的性能指標水平。而Linux所做的是,以小塊方式按照需要對磁盤空間進行分頁操作。因此,我們可能應該停止說交換到磁盤的內存,並開始說分頁到磁盤的內存。對於任何一種方法,表3-8解釋了相關字段。
表3-8 vmstat交換字段
字 段 |
說 明 |
si |
從磁盤分頁到內存的數量 |
so |
從內存分頁到磁盤的數量 |
在交換之後是兩個I/O字段。這部分提供了一個簡略介紹以幫助確定Linux是否正忙於完成許多磁盤I/O。vmstat只提供兩個字段,顯示出入磁盤的數據量(參見表3-9)。
表3-9 vmstat io字段
字 段 |
說 明 |
bi |
從磁盤讀入的塊 |
bo |
寫入磁盤的塊 |
系統字段提供Linux內核進行進程管理的繁忙程度的摘要。中斷和上下文開關參見表3-10。上下文開關指進程移出CPU或者移入CPU。
表3-10 vmstat系統字段
字 段 |
說 明 |
in |
系統中斷 |
cs |
進程上下文開關 |
最後,CPU狀態信息用總CPU時間的百分比來表示,如表3-11所示。
表3-11 vmstat cpu字段
字 段 |
說 明 |
us |
用戶時間 |
sy |
系統時間 |
wa |
等待I/O |
id |
空閒時間 |