Recentemente, adquirimos um servidor executando o Hyper-V 2008 R2 bare metal. O servidor possui dois processadores Intel Xeon de quatro núcleos com hyperthreading; portanto, se estou 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% da capacidade total de processamento do sistema. Isso significa que os 75% restantes não podem ser acessados pelo sistema operacional virtual? Estaremos executando algumas outras máquinas virtuais, mas esta é para o SQL Server e gostaríamos de colocar o máximo de potência possível.
14
Respostas:
Uma vCPU pode ser mapeada apenas para uma única CPU física. Você não pode pegar 4 CPUs físicas e criar uma única vCPU 4x mais rápida; simplesmente não é assim que funciona.
O Hyper-V é limitado à atribuição de 4 vCPUs a uma VM (a última vez que verifiquei). Se você precisar de energia significativa da CPU, vá físico, não faz sentido adicionar sobrecarga de virtualização a algo que consome muita CPU e paralela em primeiro lugar.
Além disso, como observa a Holocript, 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 físicos de CPU para executá-los. Dependendo da sua configuração, isso pode ser um grande obstáculo (por exemplo, se você tiver uma máquina de 6 núcleos com várias VMs de vCPU, apenas uma será executada por vez, os outros dois núcleos sempre serão essencialmente não utilizados).Segundo Jake Oshins, isso não era verdade para nenhuma versão do Hyper-V. Ele afirma que o Hyper-V não usa agendamento de grupo para a CPU; como quase todos os outros hipervisores. Portanto, se um núcleo físico da CPU estiver disponível, o Hyper-V poderá usá-lo para executar uma VM com várias CPUs. (Também mencionado, o Hyper-V pode não usar todos os núcleos físicos disponíveis no momento devido ao particionamento NUMA)Nota lateral: o SQL não usa necessariamente todos os núcleos que você pode usar em primeiro lugar. Ela realmente depende do que você está usando para isso e como paralelizável a carga é.
fonte
Sim, o que Chris disse. Se você precisar de mais de quatro CPUs em uma máquina virtual Hyper-V, crie dois servidores SQL em virtual e espalhe seus bancos de dados ou vá físico. Dependendo da sua licença do servidor SQL, você poderá adicionar mais servidores SQL no virtual (no mesmo host físico) sem que ocorram mais custos de licenciamento, mas leia o white paper de licenciamento virtual do SQL para obter mais informações.
Concordo também que, se o SQL estiver sem energia da CPU com 4 CPUs virtuais, você terá uma utilização séria do aplicativo ou os comandos SQL serão mal escritos.
fonte
Cerca de 4 limites de núcleo da CPU:
Na seção do arquivo de configuração da VM:
[processadores] [tipo de contagem = ”número inteiro”] 16 [/ contagem]
Agora você tem 16 núcleos de CPU.
ATUALIZAÇÃO: parece necessária a captura de tela
fonte
siga este guia
http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/
você pode localizar o arquivo de configuração vm xml no diretório "Máquinas Virtuais" do diretório VHD da VM, o arquivo de configuração será nomeado com o ID da VM. Abaixo o link é 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 / bloco de notas ++ aberto sob privilégios de administrador
fonte