2014-10-13 3 views
3

Я пытаюсь установить абсолютные ограничения на использование ЦП процессора Docker. Концепция ресурсов процессора (docker run -c <shares>) относительна, но я хотел бы сказать что-то вроде «пусть этот контейнер использует не более 20 мс времени процессора каждые 100 мс. Самый близкий ответ, который я могу найти, - это hint from the mailing list при использовании cpu.cfs_quota_us и cpu.cfs_period_us. используйте эти настройки при использовании docker run?Установка абсолютных пределов для CPU для контейнеров Docker

У меня нет строгого требования для Docker с поддержкой LXC (например, pre0.9) или более поздних версий, просто нужно увидеть пример использования этих настроек - любые ссылки к соответствующей документации или полезным блогам тоже очень приветствуются. В настоящее время я использую Ubuntu 12.04 и под /sys/fs/cgroup/cpu/docker Я вижу следующие варианты:

$ ls /sys/fs/cgroup/cpu/docker 
cgroup.clone_children cpu.cfs_quota_us cpu.stat 
cgroup.event_control cpu.rt_period_us notify_on_release 
cgroup.procs   cpu.rt_runtime_us tasks 
cpu.cfs_period_us  cpu.shares 

ответ

5

Я считаю, что я получил эту работу. Мне пришлось перезапустить демона Docker с , так как I не смог найти способ передать аргументы группы libcontainer. Этот подход работает для меня:

# Run with absolute limit 
sudo docker run --lxc-conf="lxc.cgroup.cpu.cfs_quota_us=50000" -it ubuntu bash 

Необходимые CFS документы на ограничение пропускной способности являются here.

Я кратко подтвердил SysBench, что это, кажется, ввести абсолютный предел, как показано ниже:

$ sudo docker run --lxc-conf="lxc.cgroup.cpu.cfs_quota_us=10000" --lxc-conf="lxc.cgroup.cpu.cfs_period_us=50000" -it ubuntu bash 
[email protected]:/# 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 bash 
[email protected]:/# sysbench --test=cpu --num-threads=1 run 
    <snip> 
    total time:       45.0423s