Docker 데몬은 사용 가능한 하드웨어 리소스를 어떻게 알 수 있나요?

Docker 데몬은 사용 가능한 하드웨어 리소스를 어떻게 알 수 있나요?

우리는 VMWare 하이퍼바이저의 RedHat VM에서 Docker를 실행하고 있습니다. VM에 더 많은 가상 코어(vCPU)를 추가하면 RedHat은 추가 리소스를 확인하고 이를 처리할 수 있지만 Docker가 실행하거나 시작한 컨테이너는 처리할 수 없습니다. 그들은 단지 사용할 수 있습니다CPU0~CPU7CPU8~CPU15는어떤 컨테이너에서도 완전히 건드릴 수 없음. Docker 검사는 CPU에 대한 제한을 반환하지 않습니다. VM을 재부팅해도 이 문제를 해결하는 데 도움이 되지 않았습니다. Cadvisor 컨테이너에서는 사용 가능한 코어가 8개만 보고됩니다. 누구든지 문제를 해결하는 방법을 알고 있나요? Docker는 원래 CPU 수를 어딘가에 저장합니까? Docker 데몬은 사용 가능한 코어 수를 어떻게 알 수 있나요?

답변1

우리는 그것을 해결했습니다. Docker가 핫플러그된 CPU를 인식하도록 하는 트릭이 있습니다. 이전 설정이 재부팅 후에도 유지되는 이유를 알 수 없습니다. 다음 명령이 해결책이었습니다.

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

관련 정보