2017-12-06 24 views
0

OK, 내 제목이 실제로 가능한 솔루션에 연결되어 있지 않을 수도 있지만 이것이 내 문제입니다. 필자는 Windows 10 kaby-lake (2 개의 물리적 코어, 4 개의 가상 코어) 랩톱에서 도커 컨테이너 안에 Python 3 Jupyter 노트북을 실행하고 있습니다. 거기에서 무거운 컴퓨팅을 수행하는 동안 작업 모니터에 표시된 CPU 사용량이 매우 낮습니다 (~ 15 %). 각 프로세스의 세부 정보를 볼 때 VBoxHeadless.exe는 실제로 프로세서의 24 %를 사용하며 이는 docker stats 명령과 일치하여 97-100 % CPU 사용량을 산출하므로 단일 코어 동작 관점에서 의미가 있습니다. Result of docker stats CPU usage of Docker/VBoxHeadless 내 실제 문제는 스레드가 CPU 시간으로 채워지더라도 Windows는 실제로 CPU 속도를 높이는 데 유용 할 수 있다고 결정하지 않으므로 1.7GHz에서 실행됩니다 (고성능 모드의 다른 응용 프로그램과 함께, 나는 보통 컴퓨터가 할 수있는 최대 3.5GHz를 기록했다. CPU monitor 따라서 도커 자체 또는 윈도우 10에서 높은 클럭 속도 (공칭 2.7GHz 또는 최대 3.5GHZ)를 어떻게 유도 할 수 있습니까?Docker가 더 높은 CPU 주파수를 트리거하도록하려면 어떻게해야합니까?

답변

0

도커 실행중인 도커 시스템을 구성해야합니다. 사용자 정의를 작성하지 않은 경우 'default'라는 기본 도커 시스템은 하나의 CPU에만 액세스 할 수 있습니다.

당신은 실행하여이 고정 표시기 기계에 대한 모든 구성을 확인할 수 있습니다

docker-machine rm default 
docker-machine create -d virtualbox --virtualbox-disk-size "400000" --virtualbox-cpu-count "2" --virtualbox-memory "2048" default 

당신은 모든 avaible 구성을 확인할 수 있습니다

docker-machine inspect default 

당신이 기본 기계를 제거하고 다시 작성해야

docker-machine create --help 
+0

나는이 모든 것을했는데, 이제 나의 기본 도커 기계는 잠재적으로 두 배의 메모리와 두 배의 코어를 사용하지만 실제로는 내가 언급 한 것이 아니다 (속도는 변하지 않았다). 나는 실제로 더 높은 CPU 주파수를 가진 단 하나 중핵 성과에 대해서 이야기하고있다 –

0

CPU 공유를 정의하면 다음과 같이 실행할 수 있습니다. 정확히는 아니야.

CPU 제한은 공유를 기반으로합니다. 이러한 공유는 한 프로세스를 다른 프로세스와 비교해야하는 처리 시간의 양입니다. CPU가 유휴 상태이면 프로세스는 사용 가능한 모든 리소스를 사용합니다. 두 번째 프로세스가 CPU를 필요로하면 사용 가능한 CPU 시간이 가중치에 따라 공유됩니다. 예 : --cpu-shares 매개 변수는 0-768 사이의 공유를 정의합니다. 컨테이너가 768의 공유를 정의하고 다른 컨테이너가 256의 공유를 정의하는 경우 첫 번째 컨테이너는 50 %의 공유를 가지며 다른 하나는 사용 가능한 공유의 25 %를 공유합니다.

아래 첫 번째 컨테이너에는 공유의 75 %가 허용됩니다. 두 번째 컨테이너는 25 %로 제한됩니다.

docker run -d --name p1 --cpuset-cpus 0 --cpu-shares 768 image_name 
docker run -d --name p2 --cpuset-cpus 0 --cpu-shares 256 image_name 
sleep 5 
docker stats --no-stream 
docker rm -f p1 p2 

다른 프로세스가 실행 중이 아니면 프로세스가 정의 된 가중치에 관계없이 공유의 100 %를 가질 수 있다는 점에 유의해야합니다.

+0

이것 또한 시도했다, 그러나 Windows 수준에 더 많은 cpu를위한 전반적인 요구에 영향을 미치지 않았다, 나는 문제점이 창 10 관련 시켰다는 것을 생각한다. –