Estacionamento da CPU para ESXi e Windows Server

10

Para aqueles que não sabem, o estacionamento da CPU é um recurso das versões recentes do Windows Server que permite ao Windows deixar praticamente um núcleo da CPU sem uso e sem nada usá-lo. Foi introduzido como uma medida de economia de energia. Há mais detalhes aqui , entre outros lugares.

No entanto, o que me interessa é saber se isso importa em um convidado virtualizado - ou se a CPU estaciona mais um obstáculo do que uma ajuda, já que as CPUs físicas são gerenciadas pelo ESXi, não pelo Windows, e é menos provável que uma CPU estacionada lidar com o tráfego, a menos que o planejador considere que há trabalho suficiente para desbloquear a CPU?

Não encontrei nada sobre isso - suspeito que será muito baseado em uma determinada carga de trabalho, mas não vi nenhuma discussão (ao contrário, digamos, se o hiperencadeamento tem algum efeito, o que parece ser discutido regularmente ) Enquanto eu entendo o "teste com a sua carga de trabalho", fiquei me perguntando se havia algum conselho / diretriz por aí que eu tenha perdido.

Chris J
fonte
1
Duvido que uma VM possa dizer núcleos físicos para dormir. Se isso pudesse ser feito, seria feito pelo hypervisor independente da VM.
LatinSuD 20/08/14
Exatamente - é por isso que estou fazendo a pergunta, não consigo ver o ponto de estacionamento em uma VM, então o estacionamento deve ser desativado?
Chris J
Qual versão do ESXi? Qual é o uso da CPU, tanto na máquina do desenvolvedor que você mencionou em um dos comentários quanto na VM? Quais modelos de CPU são usados ​​na máquina do desenvolvedor e no seu host ESXi? Não sei se essa informação vai ajudar, mas pode.
Mario Lenz

Respostas:

11

Definitivamente, tente dimensionar corretamente suas VMs .

Se você tiver CPUs virtuais gratuitas suficientes para se preocupar com o "estacionamento da CPU", poderá ter muitas alocadas na VM.

Não é uma solicitação comum, então eu confio nas ferramentas tradicionais de gerenciamento de recursos, a menos que você esteja tendo um problema de desempenho.

Editar:

Você está tendo um problema de desempenho.

  • Verifique se você possui as ferramentas VMware instaladas.
  • Defina as opções de energia da VM do Windows para Alto desempenho

insira a descrição da imagem aqui

ewwhite
fonte
2
É algo que vimos em uma plataforma sob uma carga de CPU bastante pesada - um aplicativo multiencadeado não parece estar utilizando todas as vCPUs, com o gerenciador de recursos marcando um casal como "estacionado" (apesar de haver threads mais do que suficientes na fila para execução). É a primeira vez que ponderamos se o estacionamento e as VMs são realmente um problema: o desenvolvedor em sua máquina (físico) vê o mesmo código usar todos os núcleos (mais núcleos do que na VM). Estamos coçando a cabeça um pouco e só queria explorar esse aspecto em particular.
Chris J
@ChrisJ Veja minha edição acima.
precisa saber é o seguinte
Isso parece ter feito o truque em nosso ambiente de teste: a carga agora está sendo espalhada por todas as vCPUs (de acordo com o Windows) e, em vez de 2 threads simultâneos, temos 4 threads simultâneos. Hoje estaremos rodando na grande plataforma (espero), então vamos confirmar.
Chris J
1
Certifique-se de adicioná-lo à sua diretiva de grupo de servidores Windows. É por isso que eu nunca mais acabo tocando manualmente.
ewwhite
Boa sugestão - ta.
Chris J
4

Não importaria. Se você deseja economizar energia, aloque menos núcleos para o convidado da VM. O Windows tentará gerenciar seus núcleos "virtuais", mas não tem controle sobre o hipervisor para não afetar as CPUs físicas reais no sistema.

Nathan C
fonte
Para mim, esse não é um problema de economia de energia, pois o host é virtuoso, por isso é o ESXi que eu preciso olhar. É mais importante se ele influencia / interfere com o próprio planejador do hipervisor, pois, em última análise, o tempo físico da CPU é alocado por isso, e não pelo planejador do Windows. Meu pressentimento é que o estacionamento provavelmente deve estar desabilitado, para que o agendador do Windows não precise "estacionar" uma CPU que realmente não existe, e isso pode fazer melhor uso das CPUs físicas subjacentes, permitindo que o ESX aloque tempo adequadamente. Eu estava pensando se meu intestino está correto :-)
Chris J
Não influenciará o agendador. Sob condições restritas, o ESXi pode "roubar" o tempo de CPU não utilizado de seus convidados, mas, caso contrário, o núcleo permanecerá ocioso, a menos que outro convidado também esteja usando.
Nathan C
@ ChrisJ Não há necessidade de desativar. Não tente ser mais esperto VMware :)
ewwhite
Não estou tentando enganar o VMWare, estou tentando adivinhar o Windows (já que parece não agendar um aplicativo em todas as vCPUs) :-) Não achei que precisássemos fazer isso, principalmente devido à falta de informações on-line (o que significa que a maioria deixa todo mundo como está), mas só queria explorar esse aspecto.
Chris J
@ ChrisJ Eu não acho que as pessoas tocam essa configuração diretamente. Geralmente faz parte da política de energia do sistema.
precisa saber é