Existe algum motivo para não usar o número máximo de processadores virtuais em uma VM do Hyper-V

2

No Windows 2008 R2 Hyper-V em execução em um servidor multicore. Quando eu crio uma nova VM, o padrão é 1 processador lógico, em vez do valor máximo (4). Há algum cenário em que eu queira que minha VM seja executada com menos processadores do que o permitido pela Maximun? Parece fazer sentido para mim que eu queira que ele seja executado o mais rápido possível e, assim, seja executado em todos os processadores possíveis.

    
por David Reis 13.10.2010 / 02:03

5 respostas

3

Eu tenho trabalhado com vm's há anos, então aqui estão meus 2 centavos. Todo mundo virtualiza por um motivo ... se você fez isso porque era a última palavra da moda e uma revista disse para fazê-lo esquecer e voltar a usar o físico. Agora, se você estiver virtualizando para fornecer redundância, não use todos os seus cpus. Em um failover, você precisará do poder de CPU extra. Se você virtualizar porque tem muitos pequenos servidores e deseja maximizar o uso de um servidor físico, use 80% dos processadores ... e dê uma olhada no perfil ao longo de uma semana ou duas ... se conseguir longe com colocar 4 cpu em 2 servidores, porque eles estão trabalhando em diferentes momentos, vá em frente. Agora, o problema pode ser que, se o sistema host começa a usar cpu e os convidados começam a usá-lo, você verá uma situação com os sintomas dos convidados têm apenas 70% de utilização da CPU, mas estão vinculados como estão em 100%. Isto é mau. Espero que por 4 cpu você quer dizer 4 cpus quad core. É difícil enxergar qualquer benefício de menos.

    
por 13.10.2010 / 05:46
2

Há um custo para usar processadores virtuais extras, tanto na camada do hipervisor quanto no sistema operacional convidado, mencionado na resposta do PHGamer. À medida que você adiciona mais processadores virtuais a uma VM, todos os VPs tentam obter e liberar bloqueios no sistema operacional convidado, diminuindo um pouco o outro. O agendador dentro do hipervisor também terá mais trabalho a fazer, até, até certo ponto, quando esses processadores virtuais extras não estiverem ocupados.

Se você deseja que a capacidade da sua VM seja muito dinâmica, adicione muitos processadores virtuais, entendendo o custo.

Se você deseja que sua máquina seja executada com mais eficiência, não adicione mais processadores virtuais do que as cargas de trabalho geralmente precisam.

A resposta da Multiverse IT também é um pouco relevante, embora esse problema possa ser parcialmente resolvido colocando as reservas na quantidade de tempo de processamento que outras VMs obtêm, tornando mais difícil para uma VM descontrolada monopolizar o tempo de CPU física.

    
por 13.10.2010 / 19:01
1

Bem, se você tem uma tonelada de VMs rodando ao mesmo tempo. ter um invasor de VMs todos os processadores seria muito ruim, não?

Com a escolha da CPU, você pode ter 4 VMs cada, com acesso dedicado a uma CPU, sem que ocorra qualquer troca de contexto.

    
por 13.10.2010 / 02:09
1

Se a carga for apenas de encadeamento único, você colocará desnecessariamente carga de agendamento no host para ciclos de processador desperdiçados de qualquer maneira. Virtualizar um servidor é um exercício de alocação ótima de recursos. Se você está apenas jogando recursos em torno de onde eles não são necessários, qual é o objetivo de consolidá-los todos em uma única caixa?

    
por 13.10.2010 / 02:11
1

Uau ... você nunca viu uma atualização para o Windows, um software antivírus ou um aplicativo em seu servidor que estava ruim e acabou acabando com o uso da CPU. Você realmente gostaria que uma atualização mal comportada derrubasse seus outros servidores? Além disso, enquanto o seu ambiente pode ter um uso previsível da CPU, outros ambientes podem ser muito diferentes. Semelhante ao CrazyDart, as razões para virtualizar podem diferir de ambiente para ambiente. Você pode fazer isso por economia de energia, você pode fazer isso para migrações / recuperação de servidor mais fáceis. Você pode fazer isso para alta disponibilidade em um cluster. Você pode fazer isso por outro motivo. Suas razões para fazer podem afetar como a alocação de CPU é tratada.

Você também deve observar que algumas melhorias significativas estão chegando no SP1.

    
por 13.10.2010 / 07:20