【Linux】リソース使用率の確認方法(iostatコマンド使用方法・各項目の見方)

最終更新日 2024年10月25日

iostatコマンド使用方法・各項目の見方

リソース使用率の確認の必要性

キャパシティープランニングを行う際、今後構築しようとしているシステムがどのくらいの
リソースを必要とするのか確認するためにも、現在のリソースの使用状況を
確認する必要があります。

そこで、役に立つコマンドの1つである iostat コマンドを今回紹介いたします。

キャパシティープランニングについては以下の記事で紹介しているので確認してみてください!

iostatコマンドについて

iostatコマンドとは

iostatコマンドは、CPUの使用状況や、ディスクI/Oの状況などを確認できるコマンドです。

iostatコマンドの使用方法

iostatコマンドの書式は以下です。

iostat 「オプション」「表示間隔(秒)」「回数」

iostatコマンドはオプションや表示回数などの引数を省略して使用すると、
システムを起動してから、現在までの統計情報を表示します。
引数を省略した場合に表示される情報は、コマンド実行時のものではなく、
システムを起動してから、コマンドを実行したときまでの平均の値が出力されるので
注意してください。

引数に、表示間隔、回数を指定した場合は、以下のように出力されます。

最初の出力:システムを起動してから現在までの平均の値
2回目以降の出力:その前の表示との差分(値の変化があった部分の数値のみ表示)

iostatコマンドの出力

引数無しでコマンドを実行すると以下のような結果が出力されます。

[test@localhost ~]$ iostat
Linux 4.17.11 (localhost.localdomain) 	2022年09月08日 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          28.42    0.95   37.70    1.57    0.00   31.37

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             369.25     16472.67       648.50     904844      35622
scd0              0.47        19.04         0.00       1046          0

引数を指定した場合は以下のような結果が出力されます。
以下のコマンドは、iostatコマンドを、2秒間隔で3回実行しています。

[test@localhost ~]$ iostat 2 3
Linux 4.17.11 (localhost.localdomain) 	2022年09月08日 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.40    0.24    4.66    0.44    0.00   91.26

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              58.41      3655.11        87.34    2055485      49118
scd0              0.05         1.86         0.00       1046          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.02    0.00    0.51    0.00    0.00   98.48

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.51         4.06         0.00          8          0
scd0              0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.58    0.00    0.52    0.00    0.00   96.91

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0

[test@localhost ~]$ 

iostatコマンドのオプション

次に、iostatコマンドの主なオプションについてご紹介します。

オプション説明
-cCPUの使用率のみの情報を出力する。
-dディスクI/Oの情報のみを出力する。
-hデバイス名の行と統計行を分けて情報を表示する。
-kKB単位で表示する。
-t出力結果に計測時の時刻を表示させる。
-x拡張ディスクの統計情報を出力する。

iostatコマンドの各項目の見方

[test@localhost ~]$ iostat -t
Linux 4.17.11 (localhost.localdomain) 	2022年09月08日 	_x86_64_	(1 CPU)

2022年09月08日 16時58分34秒
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.08    0.12    2.63    0.39    0.00   94.78

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              31.19      1935.51        48.22    2065658      51463
scd0              0.02         0.98         0.00       1046          0

[test@localhost ~]$ 
項目名説明
%userユーザーのプロセスが、CPUを使用している時間の割合。
%nicenice値が変更されたプロセスがCPUを使用している時間の割合。
nice値が変更されたプロセスとは、優先度が変更されたプロセスのこと。
%systemシステム(カーネル)がCPUを使用している時間の割合。
%iowaitディスクI/O(読み書き)待ちの時間の割合。
%steal仮想マシンがCPUを使用した時間の割合。
%idleCPUがアイドル状態だった時間の割合。
tps1秒当たりのI/O転送リクエスト数。
kB_read/s1秒当たりにデバイスから読みだしたブロックの数(KB)。
kB_wrtn/s1秒当たりにデバイスへ書き込みを行ったブロックの数(KB)。
kB_readデバイスから読みだしたブロックの数(KB)。
kB_wrtnデバイスへ書き込みを行ったブロックの数(KB)。