Как демон Docker узнает о доступных аппаратных ресурсах?

Как демон Docker узнает о доступных аппаратных ресурсах?

Мы запускаем Docker на виртуальной машине RedHat на гипервизоре VMWare. Когда мы добавили больше виртуальных ядер (vCPU) к виртуальной машине, RedHat видит дополнительные ресурсы и может обратиться к ним, но не к контейнерам, запущенным или запущенным Docker. Они могут использовать толькоCPU0 - CPU7и CPU8 - CPU15 являютсяполностью неприкасаемый ни к какому контейнеру. Docker inspect не возвращает никаких ограничений на процессоры. Перезагрузка виртуальной машины не помогла исправить это. Контейнер cadvisor также сообщает о наличии только 8 ядер. Кто-нибудь знает, как это исправить? Сохраняет ли Docker где-нибудь исходное количество процессоров? Как демон Docker узнает о количестве доступных ядер?

решение1

Мы решили эту проблему. Есть трюк, позволяющий Docker распознавать горячее подключение ЦП. Мы не знаем, почему старые настройки сохранялись после перезагрузки. Решением стала следующая команда:

for c in $(compgen -G '/sys/fs/cgroup/cpuset/system.slice/docker-*'); do echo 0-15 > ${c}/cpuset.cpus ; done

Связанный контент