(意外?)blkio控制器的行为

我在Ubuntu 12.04上使用了docker 1.4.0和lxc-1.0.6以及cgroup-lite-1.1.5。 我有3个硬盘( /dev/[sdb-sdd] ),我从3个不同的容器中写入。 他们只有一个XFS分区,分别安装在/ mnt / vol [1-3]中。 我用Docker启动容器(使用lxc exec-driver):

 docker run --rm=true -v /mnt/vol1:/mnt -ti stackbrew/ubuntu:trusty /bin/bash 

当我从三个并发容器中进行dd时:

 dd if=/dev/zero of=/mnt/testfile bs=4M count=250 oflag=direct 

我观察到分配给他们的bps单位的公平分配,即使这些设备是不同的(当然)。 如果我执行一个容器,我观察到60 MB / s(这些是真正的旧磁盘)。 如果我执行两个容器,我会看到三个30 MB / s和20 MB / s。

没有我在调度器,权重和节stream阀方面尝试似乎有所作为。 任何想法为什么?