I've got 2 LXC containers with these cgroup settings:
lxc.cgroup.blkio.weight = 200 lxc.cgroup.cpu.shares = 200 and lxc.cgroup.blkio.weight = 800 lxc.cgroup.cpu.shares = 800
I have verified in
/sys/fs/cgroup/blkio/lxc/test1-lxccontainer/blkio.weight is indeed set to 200 on the host OS.
I have verified that
cpu.shares are split up 80% to container 1 and 20% to container 2.
But when I run this command in both containers:
# write a 10GB file to disk dd bs=1M count=10000 if=/dev/zero of=1test conv=fdatasync
I ran a similar test on reads:
davidparks21@test-cgroups1:/tmp$ time sh -c "dd if=1test of=/dev/null bs=1M" 10000+0 records in 10000+0 records out 10485760000 bytes (10 GB) copied, 37.9176 s, 277 MB/s real 0m37.939s user 0m0.004s sys 0m24.306s
The IO speeds see in
iotop on the host OS are virtually the same between the two containers.
I expected to see container 2 command 80% of the IO access in this case.