cgroup v2 io.max 制限は適用されませんでした。

cgroup v2 io.max 制限は適用されませんでした。

io.maxRocky Linux 9では、cgroups v2では制限を適用できないようです。

設定:

# lsblk
NAME          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
...
├─nvme0n1p5   259:5    0 444.9G  0 part
│ └─data-data 253:0    0 889.9G  0 lvm   /data
...
└─nvme1n1p5   259:12   0 444.9G  0 part
  └─data-data 253:0    0 889.9G  0 lvm   /data
dd if=/dev/zero of=/data/tmpfile bs=512M count=1
1+0 records in
1+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 0.273822 s, 2.0 GB/s

適用io.max限度:

cd /sys/fs/cgroup/
mkdir -p mytest/app
echo "+io" > cgroup.subtree_control
echo "+io" > mytest/cgroup.subtree_control

echo $$ > mytest/app/cgroup.procs
echo "253:0 rbps=5000000 wbps=5000000 riops=500 wiops=500" > mytest/app/io.max

テスト:

# dd if=/dev/zero of=/data/tmpfile bs=512M count=1
1+0 records in
1+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 0.293168 s, 1.8 GB/s

書き込み速度は制限されません。oflag=direct他に何もない。
設定が正しいようです。

# cat /proc/$$/cgroup
0::/mytest/app

# cat /sys/fs/cgroup/mytest/app/io.max
253:0 rbps=5048576 wbps=5048576 riops=500 wiops=500

何が起こるのかというアイデアはありますか?

ベストアンサー1

私のシステム(6.3カーネルがインストールされているUbuntu)でうまく動作します。

cd /sys/fs/cgroup/
mkdir -p mytest/app
echo "+io" > cgroup.subtree_control
echo "+io" > mytest/cgroup.subtree_control
echo "259:0 wbps=1048576" > mytest/app/io.max
echo $$ > mytest/app/cgroup.procs
dd if=/dev/zero of=/dev/nvme0n1 bs=512M count=1

iostat -d 1 -x /dev/nvme0n1
Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %util
nvme0n1          0.00      0.00     0.00   0.00    0.00     0.00   50.00   1024.00   206.00  80.47    0.66    20.48    0.00      0.00     0.00   0.00    0.00     0.00    0.03  16.60

おすすめ記事