0

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

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

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

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

4

1 回答 1

0

这里有一个类似的问题。适合你--device-read-bps的情况吗?

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

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

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

于 2016-11-10T01:22:00.320 回答