目錄Blog:博客園 個人
- 引數說明
- 輸出資訊說明
- procs
- memory
- swap
- io
- system
- cpu
- 示例
vmstat是Virtual Meomory Statistics(虛擬記憶體統計)縮寫,可對作業系統的虛擬記憶體、行程、CPU活動進行監控,是對系統的整體情況進行統計,不足之處是無法對某個行程進行深入分析,
語法格式:
vmstat [options] [delay [count]]
delay:重繪時間間隔,如果不指定,只顯示一條結果,
count:重繪次數,如果不指定重繪次數,但指定了重繪時間間隔,這時重繪次數為無窮,
引數說明
| 引數 | 說明 |
|---|---|
| -a | 顯示活躍和非活躍記憶體 |
| -f | 顯示從系統啟動至今的fork數量 |
| -m | 顯示slabinfo |
| -n | 只在開始時顯示一次各欄位名稱 |
| -s | 顯示記憶體相關統計資訊及多種系統活動數量 |
| -d | 顯示磁盤相關統計資訊 |
| -p | 顯示指定磁盤磁區統計資訊 |
| -S | 使用指定單位顯示,引數有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576位元組(byte),默認單位為K(1024 bytes) |
| -V | 顯示vmstat版本資訊 |
輸出資訊說明
類別:
- procs:行程
- memory:記憶體
- swap:虛擬記憶體
- io:磁盤io
- system:系統內核
- cpu:CPU時間百分比
procs
| 專案 | 說明 |
|---|---|
| r | 等待執行的任務數,當這個值超過了CPU數目,就會出現CPU瓶頸了 |
| b | 處在非中斷睡眠狀態的行程數,大于0表示行程阻塞 |
memory
| 專案 | 說明 |
|---|---|
| swpd | 正在使用的swap大小單位K,如果大于0,表示物理記憶體不足 |
| free | 空閑的物理記憶體空間 |
| buff | 已使用的buff大小,對塊設備的讀寫進行緩沖 |
| cache | 已使用的cache大小,檔案系統的cache |
| inact | 非活躍記憶體大小 |
| active | 活躍的記憶體大小 |
swap
| 專案 | 說明 |
|---|---|
| si | 交換記憶體使用,由磁盤調入記憶體 |
| so | 交換記憶體使用,由記憶體調入磁盤 |
io
| 專案 | 說明 |
|---|---|
| bi | 從塊設備讀入的資料總量(讀磁盤) (KB/s),如果這個值大于0,表示物理記憶體不夠用或者記憶體泄露了 |
| bo | 寫入到塊設備的資料總理(寫磁盤) (KB/s) ,如果這個值大于0,表示物理記憶體不夠用或者記憶體泄露了 |
system
這2個值越大,會看到由內核消耗的CPU時間會越多,
| 專案 | 說明 |
|---|---|
| in | 每秒產生的中斷次數 |
| cs | 每秒產生的背景關系切換次數 |
cpu
| 專案 | 說明 |
|---|---|
| us | 用戶行程消耗的CPU時間百分比,us 的值比較高時,說明用戶行程消耗的CPU時間多,但是如果長期超過50% 的使用,那么就該考慮優化程式演算法或者進行加速了 |
| sy | 內核行程消耗的CPU時間百分比,其中包括消耗在system、irq、softirq狀態的時間,sy的值高時,說明系統內核消耗的CPU資源多,這并不是良性的表現,我們應該檢查原因 |
| id | 系統空閑消耗的總CPU時間百分比 |
| wa | IO等待消耗的CPU時間百分比,wa的值高時,說明IO等待比較嚴重,這可能是由于磁盤大量作隨機訪問造成,也有可能是磁盤的帶寬出現瓶頸(塊操作) |
| st | Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown. |
示例
不加任何引數:
[root@test ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 18536908 381556 58920 35857652 0 0 2 6 0 0 2 2 96 1 0
以上示例顯示的是自系統啟動后它記錄的統計資訊的均值,在CPU一欄顯示,CPU有2%的時間用于執行用戶應用程式代碼,2%的時間用于系統代碼,其余96%的時間處于空閑狀態,
每2秒重繪輸出結果,共計10條資料:
[root@test ~]# vmstat 2 10 |tee vmstat.log
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 3 18244556 320756 58848 37127060 0 0 2 6 0 0 2 2 96 1 0
2 2 18233548 319008 58856 37107488 4546 0 4554 64 35098 28464 5 5 84 6 0
2 1 18233548 365572 58864 36950716 8 0 8 640 40116 27700 6 7 83 5 0
1 2 18233292 321304 58880 37012480 134 0 134 92 35978 33730 5 2 88 6 0
1 1 18233292 374516 58880 36972972 12 0 12 106 31706 25987 3 2 90 5 0
4 2 18233292 302484 58888 37047228 8 0 10 32 26781 24285 5 3 87 5 0
1 2 18233292 371552 58904 36977100 12 0 12 78 30176 25186 5 3 87 5 0
3 0 18233292 307768 58912 37015744 24 0 24 42 36149 26812 1 5 89 5 0
0 3 18233036 377984 58920 36941756 194 0 212 64 35131 26675 2 3 90 5 0
3 2 18233036 567952 58920 36795824 22 0 22 0 30918 25781 2 2 90 6 0
以上示例中,第一組資料是CPU ticks,顯示的是自系統啟動的CPU時間,這里的“tick”是一個時間單位,雖然精簡的vmstat輸出僅顯示四個CPU狀態——us、sy、id和wa,這里則顯示了全部CPU ticks的分布情況,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/243087.html
標籤:Linux
上一篇:為什么電影里的黑客從不用滑鼠,一直在敲鍵盤?看完這篇了解了!
下一篇:VNC使用及其常見問題解決方法
