blkio.weight使用感想

来源:互联网 发布:windows update在哪里 编辑:程序博客网 时间:2024/06/05 07:58

blkio.weight使用感想

根据尝试,发现设置blkio.weight并不会对写入产生很大的影响,其影响的主要是read的IO。
我分别设置了foo和bar两个cgoup,位于/sys/fs/cgroup/blkio/xxx/blkio.weight,分别设置blkio.weight为100和500

$ echo 500 >/sys/fs/cgroup/blkio/foo/blkio.weight$ echo 100 >/sys/fs/cgroup/blkio/bar/blkio.weight

写入IO测试

启动两个从/dev/zero读取的进程,分别写入两个不同的文件

$ cgexec -g "blkio:foo" dd bs=1M count=4096 if=/dev/sda of=file1$ cgexec -g "blkio:bar" dd bs=1M count=4096 if=/dev/sda of=file2

通过iotop我们可以看到这两个进程的写入速度并没有本质的区别,最后的输出验证了我的想法

file1: 4294967296 bytes (4.3 GB) copied, 88.5578 s, 48.5 MB/sfile2: 4294967296 bytes (4.3 GB) copied, 88.7628 s, 48.4 MB/s

读取IO测试

启动两个从刚刚创建的大文件读取的进程,分别写入/dev/null,因为需要防止文件系统的缓存干扰测试,我们需要先清空缓存

$ sync$ echo 3 >/proc/sys/vm/drop_caches

像上面一样,需要用两个控制组进行读取的测试

$ cgexec -g "blkio:foo" dd bs=1M count=4096 if=file1 of=/dev/null$ cgexec -g "blkio:bar" dd bs=1M count=4096 if=file2 of=/dev/null

再次通过iotop发现,两个进程每秒读的字节数虽然会不断变动,但是大致趋势还是维持在 1:5 左右,和设定的 weight 比例一致。

结论

我不禁要怀疑,难道blkio.weight只对读取要作用么?还需要进一步查资料进行判断

0 0
原创粉丝点击