如何在一个cgroup中的多个块设备上配置I / O限制?

时间:2017-08-18 20:28:15

标签: linux sysadmin cgroups

我已经将我的系统设置为通过cgroup-bin包使用cgroups,其中包括一些用于安装和配置cgroup子系统的实用工具。在我的/etc/cgconfig.conf中,我有一个如下所示的块:

group limitio {
  blkio {
    blkio.throttle.read_bps_device = "<maj:min> 10485760";
  }
}

有效。但是,我有多个设备要阻止I / O。所以,我尝试用几个不同的分隔符列出它们,但似乎没有任何效果。

然后我想我会从手动配置的机器cgsnapshot为我生成配置文件。所以我尝试了以下内容:

echo "<maj2:min2> 10485760" >> /path/to/limitio/blkio.throttle.read_bps_device

手动更新有效,我在/path/to/limitio/blkio.throttle.read_bps_device中看到2行,但由cgsnapshot -s生成的以下配置不起作用。

group limitio {
  blkio {
    blkio.throttle.read_bps_device = "<maj1:min1> 10485760
    <maj2:min2> 10485760";
  }
}

如何在不使用单独的子组的情况下为多个块设备正常工作?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用新设备值重复此命名空间的配置:

# limits for device 1:1
group limitio {
  blkio {
    blkio.throttle.read_bps_device = "<maj1:min1> 10485760";
  }
}

# limits for device 2:2
group limitio {
  blkio {
    blkio.throttle.read_bps_device = "<maj2:min2> 10485760";
  }
}