Limitações do processador Hyper-V

14

Compramos recentemente um servidor que está executando o bare metal do Hyper-V 2008 R2. O servidor tem dois processadores quad-core Intel Xeon com hyperthreading, então se eu estiver entendendo corretamente, isso nos dá 16 núcleos. No Hyper-V, criamos uma máquina virtual executando o Windows Server 2008 R2 com 4 processadores virtuais. A tela de configurações do processador está me dizendo que isso representa 25% do poder total de processamento do sistema. Isso significa que os 75% restantes não podem ser aproveitados pelo sistema operacional virtual? Estaremos executando algumas outras máquinas virtuais, mas esta é para o SQL Server e gostaríamos de jogar o máximo de potência possível.

    
por Scott 16.05.2011 / 20:23

4 respostas

15

Uma vCPU só pode ser mapeada para uma única CPU física. Você não pode pegar 4 CPUs físicas e fazer uma única vCPU 4x mais rápida; Não é assim que funciona.

O Hyper-V está limitado a atribuir 4 vCPUs a uma VM (última que verifiquei). Se você precisar de um poder de CPU significativo, seja físico, não faz sentido adicionar sobrecarga de virtualização a algo que consome muita CPU e paralelamente em primeiro lugar.

Além disso, como observa Holocryptic, se você atribuir 4 vCPUs a uma VM, essa VM não poderá ser executada até que o Hyper-V tenha adquirido 4 núcleos de CPU física para executá-los. Dependendo de sua configuração, isso pode ser um grande obstáculo (por exemplo, se você tiver uma máquina de 6 núcleos com um monte de 4 VMs de vCPU, somente uma delas será executada por vez, os outros dois núcleos sempre serão essencialmente não usado). De acordo com Jake Oshins isso não era verdade para qualquer versão do Hyper -V. Ele afirma que o Hyper-V não usa o agendamento de gangues para a CPU; como quase todos os outros hipervisores fazem. Assim, se um núcleo de CPU fístico estiver disponível, o Hyper-V poderá usá-lo para executar uma VM com várias CPUs. (Também mencionado, o Hyper-V não pode usar todos os núcleos físicos disponíveis no momento devido ao particionamento NUMA)

Nota: O SQL não usa necessariamente todos os núcleos que você pode usar em primeiro lugar. realmente depende do que você está usando e como é paralelizável a carga.

    
por 16.05.2011 / 20:33
3

Sim, o que Chris disse. Se você precisar de mais de 4 CPUs em uma máquina virtual Hyper-V, crie dois servidores SQL em virtual e distribua seus bancos de dados ou seja físico. Dependendo da sua licença do servidor SQL, você poderá adicionar mais servidores SQL no virtual (no mesmo host físico) sem incorrer em mais custos de licenciamento, mas leia o white paper de licenciamento virtual do SQL para obter mais informações.

Eu também concordaria que se você tem SQL ficando sem CPU com 4 CPUs virtuais, então você tem alguma utilização séria do aplicativo ou os comandos SQL estão mal escritos.

    
por 16.05.2011 / 22:06
0

Cerca de 4 limite do núcleo da CPU:

Na seção do arquivo de configuração da VM:

[processadores] [count type = ”integer”] 16 [/ count]

Agora você tem 16 CPUs do núcleo.

UPDATE: Parece que a captura de tela é necessária

    
por 19.08.2011 / 13:54
0

siga este guia

link

você pode localizar o arquivo de configuração xml da VM no diretório "Máquinas Virtuais" do diretório VHD da VM, o arquivo de configuração será nomeado sob o ID da VM. O link abaixo é uma referência.

referência: arquivo de configuração xml da VM

Certifique-se de editar o arquivo de configuração xml da VM com o bloco de notas / notepad ++ aberto em privilégios de administrador

    
por 13.07.2016 / 02:21