Hyper-V 프로세서 제한


14

최근 Hyper-V 2008 R2 베어 메탈을 실행하는 서버를 구입했습니다. 서버에는 하이퍼 스레딩이있는 2 개의 쿼드 코어 Intel Xeon 프로세서가 있으므로 올바르게 이해하면 16 개의 코어가 제공됩니다. Hyper-V 내에서 4 개의 가상 프로세서가있는 Windows Server 2008 R2를 실행하는 가상 컴퓨터를 만들었습니다. 프로세서 설정 화면에서 전체 시스템 처리 능력의 25 %를 나타냅니다. 이는 가상 OS에서 나머지 75 %를 탭할 수 없음을 의미합니까? 우리는 몇 가지 다른 가상 머신을 운영 할 것이지만 이것은 SQL Server를위한 것이며 가능한 한 많은 마력을 내고 싶습니다.


5
머신에 vCPU를 할당 할 때 매우주의해야합니다. 즉, 가상 머신은 4 개의 물리적 프로세서를 동시에 사용할 수있을 때까지 기다려야 실행됩니다. 여기를
Holocryptic

6
하이퍼 스레딩이 진행되는 동안 다음과 같은 훌륭한 입문서를 살펴보십시오. arstechnica.com/old/content/2002/10/hyperthreading.ars
Hyppy

4
Holocryptic, 귀하의 진술은 이전 VMWare 시스템에서는 사실이지만 Hyper-V에서는 결코 사실이 아닙니다. Hyper-V는 가상 프로세서를 "갱구 예약"하지 않습니다.
Jake Oshins

답변:


15

vCPU는 단일 물리적 CPU에만 매핑 될 수 있습니다. 4 개의 물리적 CPU를 사용할 수없고 4 배 더 빠른 단일 vCPU를 만들 수 없습니다. 작동 방식이 아닙니다.

Hyper-V는 4 개의 vCPU를 VM에 할당하는 것으로 제한됩니다 (마지막으로 확인). 당신이 큰 CPU 전력이 필요하면 뭔가 오버 헤드 가상화를 추가하는 것은 의미가 없습니다, 물리적 이동 CPU를 많이하고 처음에 평행.

또한 Holocryptic 메모에 따라 VM에 4 개의 vCPU를 할당하면 Hyper-V가 물리적 CPU 코어 4 개를 획득하여 VM을 실행할 때까지 해당 VM을 실행할 수 없습니다. 구성에 따라이 큰 걸림돌이 될 수있다 (당신은, 4 개의 vCPU 가상 머신의 무리와 함께 6 코어 머신을 하나의 이제까지 한 번에 실행할 경우, 예, 다른 두 개의 코어는 항상 갈 것이다 기본적으로 사용되지 않는). Jake Oshins 에 따르면 이것은 모든 Hyper-V 버전에서는 사실이 아닙니다. 그는 Hyper-V가 CPU에 대해 갱 스케줄링을 사용하지 않는다고 말합니다. 거의 모든 다른 하이퍼 바이저가하는 것처럼. 따라서 하나의 물리적 CPU 코어가 사용 가능한 경우 Hyper-V는이를 사용하여 다중 CPU VM을 실행할 수 있습니다. 또한 NUMA 파티셔닝으로 인해 Hyper-V가 당시에 사용 가능한 모든 물리적 코어를 사용하지 못할 수도 있습니다.

참고 : SQL은 처음에 던질 수있는 코어를 모두 사용할 필요는 없습니다. 그것은 정말 당신이 그것을 사용하는 방법과 병렬 부하가하는지에 따라 달라집니다.


동의하지만 가상 CPU의 오버 헤드는 거의 없으며 거의 ​​작동하지 않습니다.
Nate

4
Chris, Holocryptic의 메모는 단순히 잘못되었습니다. Hyper-V는 4 개의 가상 CPU가있을 때까지 기다리지 않고 4 개의 VP VM에서 가상 프로세서를 예약합니다. Hyper-V는 물리적 프로세서를 실행할 수있는 가상 프로세서가있을 때마다 몇 가지 경고와 함께 가상 프로세서를 예약합니다. 예를 들어, 나머지 VM과 동일한 물리적 NUMA 노드 내에서 물리적 프로세서를 찾습니다.
Jake Oshins

3

그렇습니다, Chris가 말한 것. Hyper-V 가상 머신에 4 개 이상의 CPU가 필요한 경우 가상에서 두 개의 SQL Server를 작성하고 데이터베이스를 분산 시키거나 물리적으로 진행하십시오. SQL Server 라이센스에 따라 라이센스 비용을 증가시키지 않고 가상 (동일한 물리적 호스트에) 더 많은 SQL 서버를 추가 할 수 있지만 자세한 내용은 SQL 가상 라이센스 백서를 읽으십시오.

또한 가상 CPU가 4 개인 CPU 전원이 부족한 경우 앱 사용률이 심각하거나 SQL 명령이 잘못 작성되었다는 데 동의합니다.


1
Re : "... 또는 SQL 명령이 잘못 작성되었습니다." 이것은 공급 업체가 제공 한 코드가 작동 할 때마다 거의 보장됩니다.
Skyhawk

실제로 대부분의 데이터베이스 트래픽은 ERP 시스템의 OLTP입니다. 또한 동일한 공급 업체의 워크 플로 시스템이 있습니다. 사내에서 작성된 사용자 정의 항목은 적은 비율입니다.
Scott

기존 데이터베이스는 4 개의 논리 코어 (2 개의 듀얼 코어 CPU)에서 최대로 실행되므로 그 이상이 필요합니다.
Scott

0

약 4 CPU 코어 제한 :

VM의 구성 파일 섹션에서 :

[프로세서] [카운트 유형 = "정수"] 16 [/ count]

이제 16 개의 코어 CPU가 있습니다.

업데이트 : 스크린 샷이 필요한 것 같습니다

여기에 이미지 설명을 입력하십시오


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