avg-cpu: %user %nice %system %iowait %steal %idle
0.48 0.00 0.19 0.01 0.00 99.33
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.22 0.00 0.17 0.11 3.13 18.77 0.00 0.23 0.14 0.00
fioa 0.00 0.00 0.00 55.95 0.00 540.47 9.66 0.01 0.06 0.07 0.41
niceーー>実行優先度を変更したユーザプロセスによるCPUの使用率
%iowait: I/O終了待ち時間(I/O進行中でその終了を待っている時間)=>これは重要!!!
Blk_read/s:1秒間のディスクの読み込み量(ブロック/秒)
Blk_wrtn/s:1秒間のディスクの書き込み量(ブロック/秒)
Blk_read:ディスクの読み込み量(ブロック数)
Blk_wrtn:ディスクの書き込み量(ブロック数)
rrqm/s:1秒間デバイスへマージされた読み込みリクエスト数
wrqm/s:1秒間デバイスへマージされた書き込みリクエスト数
r/s:1秒間の読み込みリクエスト数
w/s:1秒間の書き込みリクエスト数
rsec/s:1秒間の読み込みセクタ数(デバイスから)
wsec/s:1秒間の書き込みセクタ数(デバイスへ)
rkB/s:1秒間の読み込みキロバイト(KB)数(デバイスから)
wkB/s:1秒間の読み込みキロバイト(KB)数(デバイスへ)
avgrq-sz:デバイスへのIOリクエストの平均サイズ(セクタ)
avgqu-sz:デバイスへのIOリクエストのキュー(待ち行列)の平均サイズ
await:デバイスへのIOリクエストの平均待ち時間(ミリ秒)。キューにいる時間+処理時間。
svctm:デバイスへのIOリクエストの平均処理時間(ミリ秒)。
%util:デバイスへのIOリクエスト期間CPUの使用率(デバイス関連部分)
===>この数字は継続的に 100% に近い場合は、物理ディスクの性能がボトルネックになっていると考えられます。
IOPS (秒間のI/O回数) = (r/s + w/s)
svctm = 1000(ミリ秒) / IOPS
%util = IOPS * svctm / 1000 (ミリ秒)
★症状:
IOPS(r/s + w/s)が増えて、平均待ち行列長(avgqu-sz)とレスポンスタイム(await)が大きくなっている場合、I/O 回数が増えて待ちが発生していると考えられる。
平均 I/O サイズ(avgrq-sz)が変わらないのにサービスタイム(svctm)が大きくなった場合、I/O性能が劣化しており、ストレージに問題があると考えられる。
vmstatの場合,I/O待ちをしているプロセス数を表す「b」列にCPUスレッド数以上の値が出ていると,I/Oがボトルネックになっている可能性があります。
iostatの場合,I/O使用率を表す「%util」列値が100に近い値となっているディスクでは,I/Oが詰まっている可能性があります。