CPU是一台電腦的大腦。所有的處理命令都運行在上面。I/O(輸入/輸出)同樣扮演了一個重要角色。硬盤用於提供數據給處理器並保存CPU處理過的數據。一種衡量處理器和I/O利用率的方法是使用iostat命令。通過它們的利用率,我們可以決定是否該增加更多資源。
iostat 是什麼
iostat通過觀察設備的活躍時間和他們平均傳輸率之間的關系來監視系統的輸入/輸出設備負載。iostat生成的報告可以用於修改系統配置從而更好在物理硬盤間平衡輸入/輸出的報告。
安裝 iostat
iostat包含在sysstat包內。如果你沒有,你首先需要安裝它。
在 RedHat / CentOS / Fedora
# yum install sysstat
在 Debian / Ubuntu / Linux Mint
$ sudo apt-get install sysstat
如何運行 iostat
要運行它,只需在控制台下輸入iostat。下面是一個例子。
$ iostat
下面是如何讀取iostat默認報告
第一部分包含了CPU報告
- %user : 顯示了在執行用戶(應用)層時的CPU利用率
- %nice : 顯示了在以nice優先級運行用戶層的CPU利用率
- %system : 顯示了在執行系統(內核)層時的CPU利用率
- %iowait : 顯示了CPU在I/O請求掛起時空閒時間的百分比
- %steal : 顯示了當hypervisor正服務於另外一個虛擬處理器時無意識地等待虛擬CPU所占有的時間百分比。
- %idle : 顯示了CPU在I/O沒有掛起請求時空閒時間的百分比
第二部分包含了設備利用率報告
- Device : 列出的/dev 目錄下的設備/分區名稱
- tps : 顯示每秒傳輸給設備的數量。更高的tps意味著處理器更忙。
- Blk_read/s : 顯示了每秒從設備上讀取的塊的數量(KB,MB)
- Blk_wrtn/s : 顯示了每秒寫入設備上塊的數量(KB,MB)
- Blk_read : 顯示所有已讀取的塊
- Blk_wrtn : 顯示所有已寫入的塊
以KB或MB捕捉iostat
默認上,iostat以B為單位衡量I/O系統。為了更便於閱讀,我們可以iostat將報告轉換成以KB或者MB為單位。只需要加入-k參數來創建以KB為單位,-m參數來創建以MB為單位。
$ iostat -k
$ iostat -m
要擴展報告,我們可以在iostat後面跟上-x選項。
$ iostat -x