Как демон Docker узнает о доступных аппаратных ресурсах?
Мы запускаем Docker на виртуальной машине RedHat на гипервизоре VMWare. Когда мы добавили больше виртуальных ядер (vCPU) к виртуальной машине, RedHat видит дополнительные ресурсы и может обращаться к ним, но не к контейнерам, запущенным или запущенным Docker. Они могут использовать только CPU0-CPU7 и CPU8-CPU15, которые абсолютно недоступны для любого контейнера. Docker inspect возвращает никаких ограничений на процессоры. Перезагрузка ВМ не помогла вылечить это. Контейнер cadvisor также сообщает только о 8 доступных ядрах. Кто-нибудь знает, как это исправить? Сохраняет ли Docker исходное количество процессоров где-нибудь? Как демон Docker узнает о количестве доступных ядер?
1 ответ
Мы решили это. Есть хитрость, чтобы докер знал о "горячих" подключенных процессорах. Мы не знаем, почему старые настройки пережили перезагрузки. Следующая команда была решением:
for c in $(compgen -G '/sys/fs/cgroup/cpuset/system.slice/docker-*'); do echo 0-15 > ${c}/cpuset.cpus ; done