あひるの勉強部屋

つらつらつら~と不定期にカキコするブログ

debian busterのstableにおけるiostatの異常値

debian busterのstableを運用しているマシンで iostat における %util についてNVMe SSDの場合のみ異常に数値が高かったのでとりあえず調査した。 特に原因の特定とかまではできておらず、雑に調べた内容を適当にメモしておくだけ。

現象

最初に書いた通り iostat%util の値が NVMe SSD に対してのみ高い。(2台のマシン、合計3つのメーカーが異なるNVMe SSDで再現を確認)
型番メモるのめんどいのでやる気が出たら追記する。
ちなみにHDDは特に異常に見える値は出ていなかった。

問題が発覚したマシンの iostat の結果が以下の通り。

Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
nvme0n1         21.29   33.76      0.27      1.11     1.09     3.00   4.88   8.15    0.73    0.27   0.87    13.13    33.81  15.38  84.65
sda              7.00    3.64      0.99      0.21     0.00     1.34   0.04  26.91    2.43   10.41   0.05   145.53    57.86   1.58   1.68

nvme0n1%util がやたら高い数値になっている。

調査内容

Debian の stable と testing の最新を使って差異を確認した。
ちなみにいずれもクリーンインストールした状態で行った。

調査環境

- -
マシン Lenovo E495 Ryzen5 3500U
ディスク WD BLUE SN550
OS Debian Buster (4.19.0-10), Debian Bullseye (5.7.0-2)

調査途中結果

二つのカーネルで大きな差が出た。
iostat に関してはバージョンの違いにより項目が変わっていたりするが %util を比較すると 4.19 の高さが際立つ。
/proc/diskstats の差も見ると time spent doing I/Os (ms)weighted time spent doing I/Os (ms) の値が大きく違うことが分かる。
いずれのdiskstatsの値も起動後10分程度で取得した値である。
10分のうち7分以上もI/Oに費やされているとは思えない。

これらはカーネルの更新によって直ったとみるべきだろうか。
なお、/proc/diskstats の項目数が異なるのはカーネル5.5+より2項目増えたためである。 *1

時間とやる気ができればそのうちもうちょっと調べるかもしれない。

Debian Buster (4.19.0-10) の場合

sysstat のバージョンをメモるのを忘れたが、たしか 12.0.3 だったと思う。

$ iostat -xdm
Linux 4.19.0-10-amd64 (auburn)  08/09/2020      _x86_64_        (8 CPU)

Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
nvme0n1          7.26    3.18      0.38      0.17     0.01     0.60   0.11  15.79    1.01    0.90   0.95    53.29    54.02  90.74  94.74

$ cat /proc/diskstats
 259       0 nvme0n1 3744 4 399146 3734 1630 308 175074 1406 0 456044 459884 0 0 0 0
 259       1 nvme0n1p1 1133 0 7370 2560 2 0 2 0 0 32 2484 0 0 0 0
 259       2 nvme0n1p2 2375 4 378624 1151 1248 308 175072 1295 0 1392 2400 0 0 0 0
 259       3 nvme0n1p3 153 0 9752 7 0 0 0 0 0 8 8 0 0 0 0

Debian Bullseye (5.7.0-2) の場合

sysstat のバージョンは 12.3.3 だった。

$ iostat -xdm
Linux 5.7.0-2-amd64 (auburn)    08/09/2020      _x86_64_        (8 CPU)

Device            r/s     rMB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wMB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dMB/s   drqm/s  %drqm d_await dareq-sz     f/s f_await  aqu-sz  %util
nvme0n1          3.25      0.26     0.02   0.53    0.40    81.37    2.72      0.20     0.44  13.95    1.01    76.00    0.00      0.00     0.00   0.00    0.00     0.00    0.49    0.31    0.00   0.40

$ cat /proc/diskstats
 259       0 nvme0n1 2610 14 424763 1036 2183 354 331801 2211 0 3240 3372 0 0 0 0 394 124
 259       1 nvme0n1p1 107 0 6323 26 1 0 1 0 0 72 26 0 0 0 0 0 0
 259       2 nvme0n1p2 2325 14 409240 999 1788 354 331800 2084 0 3168 3084 0 0 0 0 0 0
 259       3 nvme0n1p3 114 0 6800 4 0 0 0 0 0 48 4 0 0 0 0 0 0

参考情報

DebianBug Report #927184 に同じような症状の報告が上がっていた。