如何计算blkio在cgroups中的份额?

如何计算blkio在cgroups中的份额?

目前,我正在尝试使用 Debian Wheezy 及其默认内核 3.2.60-1+deb7u3 和 cgroups blkio 控制器来设置测试场景。 blkio.weight 的计算对我不起作用。

我的设置如下,我在 /sys/fs/cgroup 中有一个根 cgroup,其中默认 blkio.weight 为 1000。现在我创建了 2 个子组(/sys/fs/cgroup/grp1 @ blkio.weight:800,/sys /fs/cgroup/grp2 @ blkio.weight:200) 写入同一物理设备上的 2 个不同的 LVM 卷,得到以下 fio 结果:

grp1:
  read : io=3276.2MB, bw=1224.8KB/s, iops=400 , runt=2740822msec
  write: io=839516KB, bw=313651 B/s, iops=99 , runt=2740822msec

grp2:
  read : io=3278.3MB, bw=1123.9KB/s, iops=365 , runt=2987186msec
  write: io=837351KB, bw=287041 B/s, iops=91 , runt=2987186msec

但这显然不是80%到20%的份额。另一个问题是:还有一个blkio.weight为1000。这个值是如何使用的?

答案1

  1. cgroup文档建议使用以下命令刷新所有文件系统缓冲区并释放页面缓存、目录项和索引节点:

    ~]# 同步

    ~]# echo 3 > /proc/sys/vm/drop_caches

  2. 您可能尚未达到 IOPS 的峰值。您使用的是什么设备?您的设备 400 iops 是正常还是偏低?增加 FIO 中的 io-深度 和 num-jobs,以获得设备的峰值 IOPS。

相关内容