2016-06-17 2 views
27

여러 개의 프로세스를 생성하는 도커 컨테이너 내에 multiprocessing 서비스를 실행 중이며 도커가 호스트의 전체/다중 코어/CPU를 사용하거나 하나만 사용한다고 가정 해 보겠습니다.도커 컨테이너에는 몇 개의 CPU가 사용됩니까?

+8

현재 사용중인 cgroup 수만큼의 CPU가 허용됩니다. 기본적으로 제한되지 않습니다. 그것을 바꾸고 싶다면'--cpuset-cpus'를보십시오. –

+2

(도커 컨테이너는 단지 개인용 네임 스페이스 다. CPU를 에뮬레이션하지 않기 때문에 제한을 가하는 것이 필요하다. 리눅스 커널은 이러한 나가기를 허용하는 기능을 제공한다. 하나의 방법이지만 실제로는 명시 적으로 수행해야하는 것입니다. –

+1

그건 유효한 질문입니다, 왜 downvote? – kev

답변

27

Charles는 기본적으로 모든 것을 사용할 수 있으며 --cpuset-cpus 매개 변수를 사용하여 컨테이너 당 제한 할 수 있습니다.

docker run --cpuset-cpus="0-2" myapp:latest 

그러면 컨테이너가 3 개의 CPU (0, 1 및 2)로 제한됩니다. 자세한 내용은 docker run docs을 참조하십시오.

관련 문제