vmstat命令
1. 將 vmstat 輸出為 csv 格式
$ vmstat 1 | tr -s ' ' ','
$ vmstat 1 | sed 's/ */,/g'
$ vmstat 1 >> tmp.txt
$ cat tmp.txt | sed 's/ */,/g' | sed 's/^,//'
2. vmstat 輸出時間
$ vmstat 1 | awk '{print strftime("%H:%M:%S"), $0}'
3. vmstat [間隔]
第一行是目前為止的平均值
================================================================================
1-1. procs 區
1-1-1. r 列
執行和等待 cpu 時間片的程式數
如果長期大於 cpu 數, 說明 cpu 不足, 需要增加 cpu
如果大於系統中可用 CPU 個數的 4 倍, 則系統面臨著 CPU 短缺或 CPU 的速率過低, 有多數的程式在等待 CPU
1-1-2. b 列
在等待資源的程式數, 正在等待 I/O, 或記憶體交換等
1-1-3. r + b
r + b 相當於 uptime 的 load average, 如果長期高於 cpu 數, 說明 cpu 不足
1-2. cpu 區
1-2-1. us 列
使用者方式下所花費 CPU 時間的百分比
us 的值比較高時, 說明使用者程式消耗的 cpu 時間多, 但是如果長期大於 50, 需要考慮最佳化使用者的程式
us 的值較高 (上升) 時, r 列值也較高
1-2-2. sy 列
核心程式所花費的 cpu 時間的百分比
當 us + sy 的值接近 100 的時, 表示 CPU 正在接近滿負荷工作. 但 CPU 滿負荷工作並不能說明什麼, UNIX 總是試圖要 CPU 儘可能的繁忙, 使得任務的吞吐量最大化. 唯一能夠確定 CPU 瓶頸的還是 r 列值
1-2-3. wa 列
I/O 等待所佔用的CPU時間的百分比
wa 的參考值為 30, 如果 wa 超過 30, 說明對磁碟操作比較頻繁, I/O 等待嚴重, 這可能是磁碟大量隨機訪問造成的, 也可能磁碟或者磁碟訪問控制器的頻寬瓶頸造成的(主要是塊操作)
wa 的值較高 (上升) 時, b 列值也較高
1-2-4. id 列
cpu 處在空閒狀態的時間百分比
1-2-5. st 列
顯示採集間隔內發生的中斷數
1-2-6. in 列
某一時間間隔中觀測到的每秒裝置中斷數
1-2-7. cs 列
每秒產生的上下文切換次數, 如當 cs 比磁碟 I/O 和網路資訊包速率高得多, 應進行進一步調查
1-3. memory 區
1-3-1. swpd 列
切換到記憶體交換區的記憶體數量 (單位 kbyte)
如果 swpd 的值不為 0, 或者比較大 (> 100M), 只要 si so 的值長期為 0, 系統效能還是正常
1-3-2. free 列
當前的空閒頁面列表中記憶體數量 (單位 kbyte)
1-3-3. buff 列
buffer cache 的記憶體數量, 一般對塊裝置的讀寫才需要緩衝
1-3-4. cache 列
page cache的記憶體數量, 一般作為檔案系統的 cache
如果 cache 較大, 說明用到 cache 的檔案較多, 如果此時 I/O 中 bi 比較小, 說明檔案系統效率比較好
1-4. swap 區
1-4-1. si 列
由記憶體交換區進入記憶體的數量
1-4-2. so 列
由記憶體進入記憶體交換區的數量
1-5. I/O 區
1-5-1. bi 列
從塊裝置讀入到記憶體資料的總量 (讀磁碟, kbyte/s)
bi 列值高時, 讀操作是瓶頸 (記憶體瓶頸)
1-5-2. bo 列
從記憶體寫出到塊裝置資料的總量 (寫磁碟, kbyte/s)
bo 列值高時, 寫操作是瓶頸 (I/O瓶頸)
1-5-3 bi + bo
參考值為 1000, 如果超過 1000, 而且 wa 值較大, 應該考慮均衡磁碟負載, 可以結合 iostat 輸出來分析
$ vmstat 1 | tr -s ' ' ','
$ vmstat 1 | sed 's/ */,/g'
$ vmstat 1 >> tmp.txt
$ cat tmp.txt | sed 's/ */,/g' | sed 's/^,//'
2. vmstat 輸出時間
$ vmstat 1 | awk '{print strftime("%H:%M:%S"), $0}'
3. vmstat [間隔]
第一行是目前為止的平均值
================================================================================
1-1. procs 區
1-1-1. r 列
執行和等待 cpu 時間片的程式數
如果長期大於 cpu 數, 說明 cpu 不足, 需要增加 cpu
如果大於系統中可用 CPU 個數的 4 倍, 則系統面臨著 CPU 短缺或 CPU 的速率過低, 有多數的程式在等待 CPU
1-1-2. b 列
在等待資源的程式數, 正在等待 I/O, 或記憶體交換等
1-1-3. r + b
r + b 相當於 uptime 的 load average, 如果長期高於 cpu 數, 說明 cpu 不足
1-2. cpu 區
1-2-1. us 列
使用者方式下所花費 CPU 時間的百分比
us 的值比較高時, 說明使用者程式消耗的 cpu 時間多, 但是如果長期大於 50, 需要考慮最佳化使用者的程式
us 的值較高 (上升) 時, r 列值也較高
1-2-2. sy 列
核心程式所花費的 cpu 時間的百分比
當 us + sy 的值接近 100 的時, 表示 CPU 正在接近滿負荷工作. 但 CPU 滿負荷工作並不能說明什麼, UNIX 總是試圖要 CPU 儘可能的繁忙, 使得任務的吞吐量最大化. 唯一能夠確定 CPU 瓶頸的還是 r 列值
1-2-3. wa 列
I/O 等待所佔用的CPU時間的百分比
wa 的參考值為 30, 如果 wa 超過 30, 說明對磁碟操作比較頻繁, I/O 等待嚴重, 這可能是磁碟大量隨機訪問造成的, 也可能磁碟或者磁碟訪問控制器的頻寬瓶頸造成的(主要是塊操作)
wa 的值較高 (上升) 時, b 列值也較高
1-2-4. id 列
cpu 處在空閒狀態的時間百分比
1-2-5. st 列
顯示採集間隔內發生的中斷數
1-2-6. in 列
某一時間間隔中觀測到的每秒裝置中斷數
1-2-7. cs 列
每秒產生的上下文切換次數, 如當 cs 比磁碟 I/O 和網路資訊包速率高得多, 應進行進一步調查
1-3. memory 區
1-3-1. swpd 列
切換到記憶體交換區的記憶體數量 (單位 kbyte)
如果 swpd 的值不為 0, 或者比較大 (> 100M), 只要 si so 的值長期為 0, 系統效能還是正常
1-3-2. free 列
當前的空閒頁面列表中記憶體數量 (單位 kbyte)
1-3-3. buff 列
buffer cache 的記憶體數量, 一般對塊裝置的讀寫才需要緩衝
1-3-4. cache 列
page cache的記憶體數量, 一般作為檔案系統的 cache
如果 cache 較大, 說明用到 cache 的檔案較多, 如果此時 I/O 中 bi 比較小, 說明檔案系統效率比較好
1-4. swap 區
1-4-1. si 列
由記憶體交換區進入記憶體的數量
1-4-2. so 列
由記憶體進入記憶體交換區的數量
1-5. I/O 區
1-5-1. bi 列
從塊裝置讀入到記憶體資料的總量 (讀磁碟, kbyte/s)
bi 列值高時, 讀操作是瓶頸 (記憶體瓶頸)
1-5-2. bo 列
從記憶體寫出到塊裝置資料的總量 (寫磁碟, kbyte/s)
bo 列值高時, 寫操作是瓶頸 (I/O瓶頸)
1-5-3 bi + bo
參考值為 1000, 如果超過 1000, 而且 wa 值較大, 應該考慮均衡磁碟負載, 可以結合 iostat 輸出來分析
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22558114/viewspace-1097812/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- (轉)vmstat 命令
- 效能分析命令:vmstat
- linux vmstat命令Linux
- vmstat命令詳解
- AIX vmstat命令詳解AI
- 每日Linux命令(2):vmstatLinux
- linux 監測命令(vmstat)Linux
- aix基本命令之vmstatAI
- [轉載]Aix vmstat命令解析AI
- Vmstat 命令詳細介紹
- vmstat linux命令詳解Linux
- Linux vmstat命令基本使用Linux
- stat 命令家族(1)- 詳解 vmstat
- Linux 命令使用筆記【vmstat】Linux筆記
- 每天一個 Linux 命令(46): vmstat 命令Linux
- linux高階工具命令 -- vmstat介紹Linux
- 使用 vmstat 命令確定記憶體使用情況記憶體
- 【轉】Linux中Vmstat命令列出的屬性詳解Linux命令列
- AIX vmstat分析AI
- vmstat詳解
- Linux作業系統Vmstat命令列出的屬性詳解Linux作業系統命令列
- vmstat iostat sariOS
- Linux vmstat 命令 - 報告虛擬記憶體統計的工具Linux記憶體
- Linux裡面vmstat命令作用是什麼?Linux運維課程Linux運維
- linux中vmstat分析Linux
- vmstat 引數詳解
- solaris檢視I/O、記憶體、網路效能優化命令 iostat , vmstat記憶體優化iOS
- vmstat的應用詳解
- vmstat命令——監控給定時間間隔的伺服器的狀態值伺服器
- solaris檢視I/O、記憶體、網路效能最佳化命令 iostat , vmstat記憶體iOS
- meminfo vmstat procrank top等詳解
- 【AIX 學習】效能優化--vmstatAI優化
- vmstat與iostat詳解(zt)iOS
- linux vmstat輸出方法解析Linux
- linux系統使用vmstat命令顯示虛擬記憶體狀態的方法教程Linux記憶體
- linux常用系統監控工具之vmstatLinux
- vmstat檢視分析Linux系統負載效能Linux負載
- 通過vmstat的簡單分析資料庫操作資料庫