LoginSignup
3
0

More than 1 year has passed since last update.

IOPSを取得する方法(Linux、iostatコマンド)

Posted at

Linuxのiostatコマンドでメモリ使用率を取得する方法を紹介します。

環境

  • OS:CentOS Linux release 8.1.1911
実行結果
[root@centos8 ~]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
[root@centos8 ~]#

1. iostatコマンド

iostatコマンドを実行すると、「CPU使用率の情報」と「I/Oデバイスの使用状況」が表示されます。

実行結果
[root@centos8 ~]# iostat
Linux 4.18.0-147.8.1.el8_1.x86_64 (centos8)     2021年12月05日  _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.57    0.08    0.92    1.28    0.00   97.15

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2.47        92.18        22.54     595320     145558
scd0              0.00         0.16         0.00       1040          0
dm-0              2.64        90.16        23.19     582271     149739
dm-1              0.02         0.34         0.00       2220          0

[root@centos8 ~]#


-dオプションを付けてiostat -dを実行すると、「I/Oデバイスの使用状況」のみが表示されます。

実行結果
[root@centos8 ~]# iostat -d
Linux 4.18.0-147.8.1.el8_1.x86_64 (centos8)     2021年12月05日  _x86_64_        (1 CPU)

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               1.85        67.83        16.79     595336     147328
scd0              0.00         0.12         0.00       1040          0
dm-0              1.98        66.34        17.28     582287     151651
dm-1              0.01         0.25         0.00       2220          0

[root@centos8 ~]#


-dオプションと'-x'オプションを付けてiostat -dxを実行すると、「拡張ディスク統計情報」が表示されます。

実行結果
[root@centos8 ~]# iostat -dx
Linux 4.18.0-147.8.1.el8_1.x86_64 (centos8)     2021年12月05日  _x86_64_        (1 CPU)

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda              1.39    0.46     67.81     16.78     0.00     0.17   0.33  27.25   36.65   28.51   0.06    48.68    36.59   0.78   0.14
scd0             0.00    0.00      0.12      0.00     0.00     0.00   0.00   0.00   52.67    0.00   0.00    38.52     0.00   0.96   0.00
dm-0             1.35    0.63     66.33     17.27     0.00     0.00   0.00   0.00   37.08   26.32   0.07    49.01    27.45   0.71   0.14
dm-1             0.01    0.00      0.25      0.00     0.00     0.00   0.00   0.00   31.29    0.00   0.00    22.65     0.00   0.70   0.00

[root@centos8 ~]#

出力項目の内容については「LinuxのiostatコマンドでサーバーのI/Oデバイスの使用状況を確認する」を参照してください。

2. IOPSの値

ここでIOPS(Input/Output Per Second)(1秒間のI/O回数)は、

  • iostat -dコマンドの場合、「tps」の値
  • iostat -dxコマンドの場合、「r/s」+「w/s」の値

となります。

3. iostatコマンドの実行結果をファイルに出力

1秒間隔でiostat -dxコマンドの実行結果を表示させる場合、iostat -dx 1を実行します。

実行結果
[root@centos8 ~]# iostat -dx 1
Linux 4.18.0-147.8.1.el8_1.x86_64 (centos8)     2021年12月05日  _x86_64_        (1 CPU)

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda              1.30    0.43     63.30     15.70     0.00     0.16   0.33  27.04   36.65   28.23   0.06    48.68    36.14   0.78   0.13
scd0             0.00    0.00      0.11      0.00     0.00     0.00   0.00   0.00   52.67    0.00   0.00    38.52     0.00   0.96   0.00
dm-0             1.26    0.59     61.91     16.16     0.00     0.00   0.00   0.00   37.08   26.10   0.06    49.01    27.19   0.71   0.13
dm-1             0.01    0.00      0.24      0.00     0.00     0.00   0.00   0.00   31.29    0.00   0.00    22.65     0.00   0.70   0.00

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
dm-0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
dm-1             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
dm-0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
dm-1             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
dm-0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
dm-1             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00


iostat -dxコマンドの実行結果に「時刻」を付けて表示させる場合、以下のコマンドを実行します。

iostat -dx 1 | awk '{ print strftime("%Y/%m/%d %H:%M:%S"), $0 }'

実行結果
[root@centos8 ~]# iostat -dx 1 | awk '{ print strftime("%Y/%m/%d %H:%M:%S"), $0 }'
2021/12/05 18:16:44 Linux 4.18.0-147.8.1.el8_1.x86_64 (centos8)         2021年12月05日  _x86_64_        (1 CPU)
2021/12/05 18:16:44
2021/12/05 18:16:44 Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
2021/12/05 18:16:44 sda              1.28    0.43     62.48     15.50     0.00     0.16   0.33  27.01   36.65   28.20   0.06    48.68    36.08   0.78   0.13
2021/12/05 18:16:44 scd0             0.00    0.00      0.11      0.00     0.00     0.00   0.00   0.00   52.67    0.00   0.00    38.52     0.00   0.96   0.00
2021/12/05 18:16:44 dm-0             1.25    0.59     61.11     15.95     0.00     0.00   0.00   0.00   37.08   26.08   0.06    49.01    27.16   0.71   0.13
2021/12/05 18:16:44 dm-1             0.01    0.00      0.23      0.00     0.00     0.00   0.00   0.00   31.29    0.00   0.00    22.65     0.00   0.70   0.00
2021/12/05 18:16:44
2021/12/05 18:16:45 Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
2021/12/05 18:16:45 sda              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:45 scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:45 dm-0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:45 dm-1             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:45
2021/12/05 18:16:46 Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
2021/12/05 18:16:46 sda              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:46 scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:46 dm-0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:46 dm-1             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:46
2021/12/05 18:16:47 Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
2021/12/05 18:16:47 sda              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:47 scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:47 dm-0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:47 dm-1             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:16:47


ファイル(ここでは「iostat.log」)に出力する場合、以下のコマンドを実行します。
パイプをリフレッシュするためにsystem(":")を使用します。

iostat -dx 1 | awk '{ print strftime("%Y/%m/%d %H:%M:%S"), $0 } { system(":") }' > iostat.log

実行結果
[root@centos8 ~]# iostat -dx 1 | awk '{ print strftime("%Y/%m/%d %H:%M:%S"), $0 } { system(":") }' > iostat.log
iostat.log
[root@centos8 ~]# cat iostat.log
2021/12/05 18:18:50 Linux 4.18.0-147.8.1.el8_1.x86_64 (centos8)         2021年12月05日  _x86_64_        (1 CPU)
2021/12/05 18:18:50
2021/12/05 18:18:50 Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
2021/12/05 18:18:50 sda              1.27    0.42     61.66     15.29     0.00     0.16   0.33  26.99   36.65   28.19   0.06    48.68    36.06   0.78   0.13
2021/12/05 18:18:50 scd0             0.00    0.00      0.11      0.00     0.00     0.00   0.00   0.00   52.67    0.00   0.00    38.52     0.00   0.96   0.00
2021/12/05 18:18:50 dm-0             1.23    0.58     60.31     15.74     0.00     0.00   0.00   0.00   37.08   26.08   0.06    49.01    27.15   0.71   0.13
2021/12/05 18:18:50 dm-1             0.01    0.00      0.23      0.00     0.00     0.00   0.00   0.00   31.29    0.00   0.00    22.65     0.00   0.70   0.00
2021/12/05 18:18:50
2021/12/05 18:18:51 Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
2021/12/05 18:18:51 sda              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:18:51 scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:18:51 dm-0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:18:51 dm-1             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:18:52
2021/12/05 18:18:52 Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
2021/12/05 18:18:52 sda              0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:18:52 scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:18:52 dm-0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:18:52 dm-1             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     0.00     0.00   0.00   0.00
2021/12/05 18:18:53
[root@centos8 ~]#


長時間、実行結果を取得する場合、バックグラウンドで動かして、ログアウトしても終了しないようにしたいこともあります。
その場合、nohupを使用して以下のコマンドを実行します。

nohup bash -c "iostat -dx 1 | awk '{print strftime(\"%y/%m/%d %H:%M:%S\"), \$0} { system(\":\") }'" < /dev/null > iostat.log 2>&1 &

実行結果
[root@centos8 ~]# nohup bash -c "iostat -dx 1 | awk '{print strftime(\"%y/%m/%d %H:%M:%S\"), \$0} { system(\":\") }'" < /dev/null > iostat.log 2>&1 &
[1] 4054
[root@centos8 ~]#

出力ファイル名に時刻を持たせたい場合、以下のコマンドを実行します。

nohup bash -c "iostat -dx 1 | awk '{print strftime(\"%y/%m/%d %H:%M:%S\"), \$0} { system(\":\") }'" < /dev/null > iostat_$(date "+%Y%m%d_%H%M%S").log 2>&1 &

実行結果
[root@centos8 ~]# nohup bash -c "iostat -dx 1 | awk '{print strftime(\"%y/%m/%d %H:%M:%S\"), \$0} { system(\":\") }'" < /dev/null > iostat_$(date "+%Y%m%d_%H%M%S").log 2>&1 &
[1] 4124
[root@centos8 ~]# ls iostat_*
iostat_20211205_182259.log
[root@centos8 ~]#

以上

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0