Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5.10内核在cgroup v1 是否完整支持writeback功能? #20

Open
SweetPine1 opened this issue Mar 31, 2022 · 6 comments
Open

5.10内核在cgroup v1 是否完整支持writeback功能? #20

SweetPine1 opened this issue Mar 31, 2022 · 6 comments

Comments

@josephhz
Copy link
Contributor

使用的 Alibaba Cloud Linux 3 吗?实现跟 Alibaba Cloud Linux 2 是一样的。
确认下是否已经在启动参数中打开了 cgwb_v1,按照文档检查下具体那一步不符合预期。

@SweetPine1
Copy link
Author

是使用release-5.10分支源码编译的内核,确认启动参数cgwb_v1打开。
memcg和blkcg映射关系:
# cat /sys/kernel/debug/bdi/bdi_wb_link memory <---> blkio memcg1: 4470 <---> blkcg1: 1819
iostat测试结果不符合预期,测试4.19分支是符合预期的。所以不清楚5.10内核是否需要其他配置?

@josephhz
Copy link
Contributor

josephhz commented Apr 1, 2022

hi,我使用 Alibaba Cloud Linux 3 的内核(5.10.84-10.3.al8.x86_64),测试是正常的。我的步骤如下:
1)在启动参数中增加 cgwb_v1,重启;
2)执行测试脚本(以 vdb 盘为例,主次设备号为 253:16,挂载目录为 /mnt/vdb):
cgcreate -g blkio:blkcg1
cgcreate -g memory:memcg1
echo 253:16 10485760 > /sys/fs/cgroup/blkio/blkcg1/blkio.throttle.write_bps_device
cgexec -g blkio:blkcg1 -g memory:memcg1 fio -name=test -filename=/mnt/vdb/testfile -iodepth=32 -thread -rw=randwrite -ioengine=libaio -direct=0 -bs=4k -size=1G -numjobs=1
3)查看 iostat -xdm 1 vdb,会发现缓存回刷开始后基本维持在 10MB/s。

@SweetPine1
Copy link
Author

按照您的方法使用fio测试结果符合预期,感谢大佬解惑

@josephhz
Copy link
Contributor

josephhz commented Apr 2, 2022

如果你说的不符合预期是指 iostat 观测到的值不是那么准确,那应该是跟顺序 io 的合并有关系。
因为内部是通过时间片来计算的,举个例子,在某一秒最后一个时间片之前已经下发 9MB 了,而接下来的 io 是 2MB 的大小,这种情况下就不是每秒显示的数据都是稳定在 10MB,但从一个时间跨度来看,平均下来的数据还是比较准确的。

@SweetPine1
Copy link
Author

是这样,按照那个文档使用dd+iostat进行测试时,按照如下操作:
配置内核启动参数 cgwb_v1,重启;
mkdir /sys/fs/cgroup/blkio/blkcg1
mkdir /sys/fs/cgroup/memory/memcg1
bash -c "echo $$ > /sys/fs/cgroup/blkio/blkcg1/cgroup.procs"
bash -c "echo $$ > /sys/fs/cgroup/memory/memcg1/cgroup.procs"
echo 8:0 10485760 > /sys/fs/cgroup/blkio/blkcg1/blkio.throttle.write_bps_device
dd if=/dev/zero of=/data/test bs=4k count=10000
iostat -xdm 1 sda查看结果如下:

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
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

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
sda              4.00   11.00      0.02      7.43     0.00     0.00   0.00   0.00    0.00    2.36   0.03     4.00   692.00   2.40   3.60

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
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

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
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

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
sda              0.00   20.00      0.00     24.57     0.00     0.00   0.00   0.00    0.00   18.90   0.38     0.00  1258.00   5.20  10.40

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants