はじめに
前回は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がボトルネックになっている可能性が考えられます。

