Os convidados do Hyper-V veem várias CPUs (sockets) ou múltiplos núcleos de CPU quando recebem mais de 1 vCPU?

3

Tenho o SQL Server 2008 Express em execução na máquina virtual baseada em Hyper-V com duas vCPU-s. Acabei de ler no SQL Server 2012 Express e notei que a CPU é "limitada a menos de 1 soquete ou 4 núcleos" ( link )

Minha pergunta é como os limites do SQL Server 2012 em CPUs / Cores se traduzem em vCPU-s? Eles são "processadores" ou são "núcleos"?

EDITAR:

Acabei de encontrar isto: A vCPU é igual a 1 Socket ou um único Core?

Basicamente, a solução é baixar a CPU-Z e verificar, o que eu fiz. No meu 2 x vCPU VPS o CPUZ está mostrando 1 thread 2 núcleo assim parece que meu SQL Express deve voar em ambas as vCPUs. No entanto, quando entro na configuração de afinidade do processador, ele mostra 2 processadores lá, fazendo parecer que está usando apenas uma das vCPUs alocadas para o meu VPS. Estou totalmente confuso: /

    
por Filip 30.08.2012 / 11:29

2 respostas

4

Cada vCPU conta como uma única CPU de dentro do sistema operacional convidado, o que significa que os sistemas operacionais convidados e os aplicativos dentro deles, cada núcleo físico é uma única CPU.

A virtualização abstrai o hardware físico, de modo que todo o sistema operacional guest e qualquer aplicativo dentro dele possa ver os valores que o hypervisor passa para eles. No seu caso, o hypervisor informa ao sistema operacional que você tem dois processadores, porque é assim que você o configura - para ter dois processadores virtuais. Então, quando o SQL vai ver quantas CPUs você tem, o SQL vê as duas CPUs [virtuais] que você designou, então o SQL Express se limita a usar uma.

Eu acho que devo acrescentar isso: Um rápido e sujo sobre como configurar vCPUs no Hyper-V . Se você quiser que o SQL Express use mais recursos de CPU, coloque em uma vCPU e mapeie-a para mais processadores físicos e / ou um limite de recurso mais alto. Isso permitirá que o SQL Express use o máximo de recursos da CPU que o host pode alocar para ele, sem colidir com a limitação de licenciamento de CPU do SQL Express.

Ah, mas não faça isso em seu sistema operacional existente, já que a mudança do número de processadores entre CPUs simples e múltiplas em um sistema operacional Windows causa problemas - torna o sistema operacional instável. Crie uma nova VM, com uma nova instalação do SO, e desta vez apenas crie uma vCPU, que você pode mapear para mais recursos físicos.

    
por 30.08.2012 / 18:52
2

O Hyper-V no Server 2008 e no Server 2008 R2 projeta uma topologia virtual para a VM que parece uma única CPU com vários núcleos. Se você quiser ver isso por si mesmo, baixe o Coreinfo da Sysinternals. (Atualmente, no link )

O Hyper-V no Server 2012 pode projetar muitos tipos diferentes de topologias virtuais, o que é útil para configurar cargas de trabalho com vários processadores virtuais. Ele será o padrão para projetar topologias que correspondam à topologia física, mas você pode sobrescrever isso.

Observe que a alteração da topologia projetada em sua VM pode alterar o desempenho da carga de trabalho, fazendo com que o sistema operacional convidado e a pilha de aplicativos tomem diferentes decisões de configuração. Apenas alterar a topologia de convidado, no entanto, não pode levá-lo a uma conformidade de licenciamento.

    
por 04.09.2012 / 20:24