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待ち時間の割合。
- %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秒間のKバイト読み取り数。
wkB/s: 1秒間のKバイト書き込み数。
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キューが大きいことを意味します。