使用iostat查看磁盤使用狀況

Ⅰ、iostat安裝

[root@VM_42_63_centos ~]# yum install -y sysstat

Ⅱ、玩一手

[root@VM_42_63_centos ~]# iostat -xm 3
Linux 3.10.0-514.21.1.el7.x86_64 (VM_42_63_centos)  06/28/2018  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.41    0.00    0.25    0.35    0.00   98.98

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     4.53    0.43    5.42     0.01     0.06    24.09     0.47   79.51   33.78   83.15   1.39   0.81
scd0              0.00     0.00    0.00    0.00     0.00     0.00    17.45     0.00    2.68    2.68    0.00   2.53   0.00

2.1 cpu指標

- 說明
%user CPU處在用戶模式下的時間百分比
%nice CPU處在帶NICE值的用戶模式下的時間百分比
%system CPU處在系統模式下的時間百分比
%iowait CPU等待IO完成時間的百分比
%steal 管理程序維護另外一個虛擬處理器時,虛擬CPU的無心的等待時間的百分比
%idle 閒置cpu的百分比
  • %iowait的值太高,表示硬盤存在I/O瓶頸;
  • %idle值高,表示CPU較空閒,若是%idle值高但系統響應慢時,有多是CPU等待分配內存,此時應加大內存容量
  • %idle值若是持續很低,那麼系統的CPU處理能力相對較低,代表系統中最須要解決的資源是CPU

2.2 device指標

- 說明
rrqm/s 每秒merge的讀操做數(read request merge)
wrqm/s 每秒merge的寫操做數
r/s 每秒完成讀I/O設備的次數
w/s 每秒完成寫I/O設備的次數
rMB/s 用帶寬(吞吐量)來表示讀寫的狀況
wMB/s -
avgrq-sz 平均每秒鐘request請求的size
avgqu-sz 平均I/O隊列深度,HDD可能在4左右,SSD能夠達到30左右
await 平均每次設備I/O操做等待時間(ms)
r_await 讀的等待時間
w_await 寫的等待時間
svctm 平均每次設備I/O操做的服務時間(ms)
%util 每秒鐘有百分之多少的時間用於I/O操做,即被io消耗的cpu百分比

Merge將若干個連續地址的IO請求進行合併來提升IO的效率ios

r/s + w/s = IOPScentos

avgrq-sz其實就是每秒讀取的扇區的數量,每一個扇區在磁盤上固定爲512bit,這個值乘以512就是帶寬(rMB/s+wMB/s)了,也能夠說是每秒鐘平均請求的塊大小優化

  • %util 接近100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸(不必定,須要結合avgrq-sz分析)
  • svctm 比較接近await,說明 I/O 幾乎沒有等待時間;
  • await 遠大於svctm,說明I/O隊列太長,io響應太慢,則須要進行必要優化。
  • avgqu-sz比較大,也表示有當量io在等待
相關文章
相關標籤/搜索