【问题标题】:Reducing Disk I/O Rate of Containers降低容器的磁盘 I/O 速率
【发布时间】:2017-03-23 22:44:44
【问题描述】:

我有几个运行虚拟机的 Docker 容器,我想在所有容器中统一限制磁盘 I/O 吞吐量 20%,而不会对机器上的其他资源(即 CPU)造成任何压力。

我知道我可以通过更改每个容器的 blkio 重量来更改 cgroup;但是,Docker 容器具有这样的特性,即即使您限制了某个资源的使用,如果没有其他进程争用该资源,它也会使用超过该限制(也许有办法将其关闭?)。

一种解决方案是简单地启动另一个进行任意磁盘读取的进程(例如,通过 dd)。但是,dd 也会占用大量 CPU,因此这是不可取的。

总结我的问题,我正在寻找一种方法来限制磁盘读取利用率而不使用任何其他资源。

【问题讨论】:

  • 继续你的其他question?
  • 是的。但更具体的问题

标签: docker disk contention


【解决方案1】:

有一个类似的问题here--device-read-bps 适合您的情况吗?

--device-read-bps 标志限制设备的读取速率(每秒字节数)。例如,此命令创建一个容器并将 /dev/sda 的读取速率限制为每秒 1mb:

$ docker run -it --device-read-bps /dev/sda:1mb ubuntu

如果是,我们可能会将此标记为重复

【讨论】:

  • 我想在不重新启动容器的情况下执行此操作。似乎“docker update”只支持指定 blk-weight。此外,我不清楚容器将写入哪个设备。
猜你喜欢
  • 2019-11-12
  • 2012-08-20
  • 2011-02-03
  • 2016-05-15
  • 2019-12-07
  • 2014-05-20
  • 2012-08-10
  • 1970-01-01
  • 2018-10-25
相关资源
最近更新 更多