CPU / 코어가 1 개 이상인 VM을 설정하면 실제로 성능이 향상됩니까?


11

VMware 워크 스테이션을 사용할 때 여러 코어로 VM을 설정할 수 있습니다. 실제로 듀얼 코어와 4 개의 논리 코어가있는 컴퓨터에서 사용하고 있습니다. 그렇다면 VM에서 더 많은 코어를 사용하여 VMS 성능을 실제로 개선 할 수 있습니까?


3
가상 게스트의 크기를 조정할 때 한 가지 사항을 기억해 두어야합니다. 실제 머신에 설치하는 데 도움이 되었다면 가상 머신으로 사용하고 그 반대도 마찬가지입니다. 그리고 무엇보다도 가장 중요한 점은 무언가를 가상화했기 때문에 시스템 또는 응용 프로그램 요구 사항에 마법이 발생하지 않습니다 .
Rob Moir

답변:


8

VM 실행 여부에 따라 n 개의 코어가있는 머신의 게스트는 게스트가 여러 CPU를 효과적으로 활용할 수있는 한 n-1 개의 코어에서 가장 잘 수행됩니다. 불행히도 이것을 결정하는 가장 간단한 방법은 시도하고 보는 것입니다. 나는 보통 2로 시작해서 성능이 떨어지면 멈춘다. 일반적으로 2 개의 코어가 "스윗 스팟"을 볼 수있는 곳입니다. 내가 실행 한 앱 / OS 조합은 그보다 더 잘 확장됩니다.


6

명확히하기 위해 듀얼 코어 CPU가 있고 VM에 4 개의 가상 CPU가 할당되어 있습니까?

이 경우에는 아닙니다. 물리적 실행 코어보다 많은 vCPU를 할당하면 실제로 4 개의 가상 코어간에 2 개의 물리적 코어를 공유하는 오버 헤드 (물리적 호스트에서 실행되는 모든 것)로 인해 성능이 약간 저하됩니다.

2 개의 vCPU를 할당하여 VM에서 최상의 성능을 얻을 수 있습니다.


반드시 그런 것은 아닙니다. VM에서 실행되는 응용 프로그램이 멀티 코어 시스템을 활용할 수있는 경우 성능이 향상 될뿐입니다. 불행히도 2011 년이지만 많은 응용 프로그램이 그렇지 않습니다.
EEAA

@ErikA Fair point-애플리케이션 스레딩을 제외하고는 단지 2 개의 물리적 코어 만 있으면 단일 VM의 2 개의 vCPU가 항상 4 개의 vCPU보다 낫습니다.
Shane Madden

네, 100 %가 그 점에 동의했습니다.
EEAA

5

하이퍼 스레딩을 사용하는 쿼드 코어 CPU의 물리적 코어와 논리 코어 (스레드)의 vCPU를 할당 하여 (1 년 전에 내 질문 참조) 얼마 전에 실험했습니다 (8 개의 할당 가능한 vCPU가 사용 가능한 것으로 나타남). 내가 되찾은 답변과 우리의 경험에 따르면, 각 게스트에 가능한 최소 코어 수를 할당하여 수행 할 수 있도록해야합니다.

호스트에서 사용 가능한 물리적 코어보다 많은 vCPU를 할당 할 때 게스트가 동시에로드 할 경우 하이퍼 스레딩이 스레드간에 CPU 컨텍스트를 전환하여 다른 CPU를 효과적으로 시뮬레이션 할 수있을만큼 빠르지는 않았습니다. 이로 인해 재부팅, fsck 및 스택의 성능 저하가 필요한 잠금 및 시간 초과를 포함하여 모든 게스트에게 매우 불쾌한 일이 발생할 수 있습니다. 이러한 일이 발생하지 않더라도 게스트의 성능이 더 빠르지 않고 느려질 수 있습니다.

@Chris S가 당시 그의 의견에 언급했듯이 "항상 가능한 한 적게 할당하면 큰 두통을 피할 수 있습니다."

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.