Wir führen Docker auf einer RedHat-VM auf einem VMWare-Hypervisor aus. Wenn wir der VM weitere virtuelle Kerne (vCPUs) hinzufügen, erkennt RedHat die zusätzlichen Ressourcen und kann sie ansprechen, aber nicht die Container, die von Docker ausgeführt oder gestartet werden. Sie können nurCPU0 bis CPU7und CPU8 bis CPU15 sindvöllig unantastbar für jeden Container. Docker inspect meldet keine CPU-Beschränkung. Ein Neustart der VM hat nicht geholfen, das Problem zu beheben. Ein Cadvisor-Container meldet auch nur 8 verfügbare Kerne. Weiß jemand, wie man das behebt? Speichert Docker die ursprüngliche Anzahl der CPUs irgendwo? Woher weiß der Docker-Daemon, wie viele Kerne verfügbar sind?
Antwort1
Wir haben es gelöst. Es gibt einen Trick, um Docker auf Hotplug-CPUs aufmerksam zu machen. Wir wissen nicht, warum die alte Einstellung Neustarts überlebt hat. Der folgende Befehl war die Lösung:
for c in $(compgen -G '/sys/fs/cgroup/cpuset/system.slice/docker-*'); do echo 0-15 > ${c}/cpuset.cpus ; done