我相信我已经做到了。我必须使用重新启动Docker守护进程,
--exec-driver=lxc因为我找不到将cgroup参数传递给的方法
libcontainer。这种方法对我有用:
# Run with absolute limitsudo docker run --lxc-conf="lxc.cgroup.cpu.cfs_quota_us=50000" -it ubuntu bash
有关带宽限制的必要CFS文档在这里。
我用sysbench简短地确认,这似乎引入了绝对限制,如下所示:
$ sudo docker run --lxc-conf="lxc.cgroup.cpu.cfs_quota_us=10000" --lxc-conf="lxc.cgroup.cpu.cfs_period_us=50000" -it ubuntu bashroot@302e651c0686:/# sysbench --test=cpu --num-threads=1 run <snip> total time: 90.5450s$ sudo docker run --lxc-conf="lxc.cgroup.cpu.cfs_quota_us=20000" --lxc-conf="lxc.cgroup.cpu.cfs_period_us=50000" -it ubuntu bashroot@302e651c0686:/# sysbench --test=cpu --num-threads=1 run <snip> total time: 45.0423s



