はじめに
前回はLinuxのシステム情報の中でも、CPUやメモリの情報の収集方法について説明してきました。引き続き今回もシステム情報の収集について説明していきますが、サブシステムの情報の収集方法について解説します。
iostat
I/Oの統計情報を取得するためには、「iostat」コマンドを使用します。「iostat」コマンドはsysstatパッケージによって提供されます。sysstatパッケージの導入方法については「第3回:システムの情報を集める」を参考にしてください。
[root@host1 ~]# iostat 1 ← 1秒間隔で全デバイスをモニタする(Ctrl+Cで停止) |
|||||
avg-cpu: |
%user |
%nice |
%sys |
%iowait |
%idle |
|
0.06 |
0.19 |
1.17 |
1.97 |
96.61 |
Device: |
tps |
Blk_read/s |
Blk_wrtn/s |
Blk_read |
Blk_wrtn |
sda |
0.00 |
0.00 |
0.04 |
203 |
2880 |
sdb |
0.45 |
2.18 |
2.21 |
166464 |
168268 |
| %user | CPU総時間当たりのユーザー空間での実行時間の割合(%) |
| %nice | プロセスの実行順序操作処理に使用された時間の割合(%) |
| %system | CPU総時間当たりのカーネル空間での実行時間の割合(%) |
| %iowait | CPU総時間当たりのI/O待ち時間の割合(%) |
| %idle | CPU総時間当たりのアイドル時間の割合(%) |
| Device | Device |
| tps | 1秒当たりのI/Oリクエスト数 |
| Blk_read/s、Blk_wrtn/s | 1秒当たりのブロック単位での読み書き転送量 |
| Blk_read、Blk_wrtn | 起動してからのブロック単位での読み書き転送量 |
また、オプションに「-x」使用することで、平均I/Oキュー数(avgqu-sz)や平均I/O待ち時間(await)などの情報を取得することが可能です。
「iostat」コマンドから得た情報で、I/O待ち時間(%iowait)や平均I/Oキュー数(avgqu-sz)、や平均I/O待ち時間(await)が大きい場合には、I/Oがボトルネックになっている可能性が考えられます。
