iostat
iostatは、ディスクの入出力性能を監視するためのツールです。
コマンドライン形式:
iostat [ options ] [ <interval> [ <count> ] ]
パラメータの説明:
optionsの値は以下のとおりです:
- -C:CPU使用状況を表示します。
- -d:ディスク使用状況を表示します。
- -k:KB単位で表示します。
- -m:MB単位で表示します。
- -N:ディスクアレイ(LVM)情報を表示します。
- -n:NFS使用状況を表示します。
- -p[ディスク名]:ディスクとパーティションの状況を表示します。
- -t:ターミナルとCPUの情報を表示します。
- -x:詳細情報を表示します。
interval:出力更新の間隔時間。
count:出力回数。
iostat -x 1 3コマンドを使用して、ディスクの入出力の詳細情報を確認します。例:
$iostat -x 1 3
avg-cpu: %user %nice %system %iowait %steal %idle
0.03 0.00 0.00 0.00 0.00 99.97
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 1.00 0.00 16.00 0.00 16.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdf 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdi 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdj 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdk 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdl 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md127 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
md126 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
フィールドの説明:
avg-cpu:
- %user:ユーザーモードでのCPU時間の割合。
- %nice:Nice値を持つユーザーモードでのCPU時間の割合。
- %system:カーネルモードでのCPU時間の割合。
- %iowait:I/O待機中のCPU時間の割合。
- %steal:ハイパーバイザーが別の仮想プロセッサを維持しているときの、仮想CPUの無意識待機時間の割合。
- %idle:CPUのアイドル時間の割合。
Device:ディスク名。
rrqm/s: 1秒あたりのコンパクション読み取り操作数。
wrqm/s: 1秒あたりのコンパクション書き込み操作数。
r/s: 1秒あたりの読み取りI/O回数。
w/s: 1秒あたりの書き込みI/O回数。
rsec/s: 1秒あたりの読み取りセクタ数。
wsec/s: 1秒あたりの書き込みセクタ数。
rkB/s: 1秒あたりの読み取りKB数。
wkB/s: 1秒あたりの書き込みKB数。
avgrq-sz: 平均I/Oあたりのデータサイズ。
avgqu-sz: 平均I/Oキュー長。
await: 平均I/O操作の待機時間 (ミリ秒)。
svctm: 平均I/O操作のサービス時間 (ミリ秒)。
%util: I/OによるCPU利用率。
説明
%utilはディスクのI/O使用状況を示します。高い場合、通常I/Oがボトルネックになっている可能性があります。また、await = 平均I/O操作のサービス時間 + I/O待機時間なので、awaitがsvctmよりも大幅に大きい場合は、I/O待機時間が長く、I/Oキューが大きいことを意味します。