KVM: número máximo de núcleos e quantidade de memória para VMs

5

Eu tenho uma nova máquina de 8 núcleos com 16 GB de RAM. Eu quero rodar VMs nele usando Ubuntu e KVM . Nada além do SSH estará sendo executado no host.

Minha pergunta é qual é a quantidade máxima de núcleos e de RAM que posso usar para as VMs. Posso criar 4 VMs e atribuir 2 núcleos e 4 GB de RAM cada? O SO do host terá problemas com essa configuração?

Em outras palavras, qual é a quantidade mínima de núcleos e RAM necessária para o host executar as VMs? 1 núcleo e 1 GB de RAM serão suficientes para executar as VMs.

    
por ddofborg 23.12.2011 / 13:44

3 respostas

2

não há máximo como tal, mesmo que não exista um máximo real para a memória. Você precisa ter em mente o seguinte:

  • Uma CPU v KVM para um host é apenas um encadeamento no processo KVM. Se você correr mais tópicos do que você tem núcleos físicos, eles estarão competindo por esses núcleos, e o agendador do host terá que cuidar de dar tempo de CPU
  • Evite alocar mais CPUs v a uma única VM que você tenha núcleos físicos em um host.
  • Não conte os núcleos HT como núcleos reais.
  • Se possível, não aloque mais v-CPUs para todas as VMs que você está executando do que para núcleos físicos, se o tempo de CPU nas VMs for crítico. No entanto, em sistemas menos ocupados, você pode facilmente sobrecarregar até algumas taxas realmente insanas (já vi um sistema com 8 núcleos executando 150 VMs ociosas, com 2 núcleos cada, sem problemas)

Quanto à alocação de RAM, esta é basicamente a mesma linha de pensamento:

  • uma VM é apenas outro processo para o host, e o processo terá um limite de memória que pode usar
  • Se você tentar usar mais RAM que você realmente tem, você vai acabar em swap, que é lento em comparação com a RAM
  • O KVM fornece maneiras de sobrecarregar a memória - há um balooning e um KSM para isso.
Portanto, tendo dito isso, é necessário considerar o que suas VMs exigirão de forma absoluta (não forneça apenas um núcleo de VM 4 porque você pode, dê o mínimo necessário para ser executado e adicione mais tarde se observar o desempenho questões).
Tenha cuidado com a alocação de memória - você nunca quer acabar em swap.

    
por 23.12.2011 / 15:09
0

A sobrecarga do sistema host é algo perto de algumas centenas de MB, você pode verificá-lo imediatamente na inicialização com o comando livre.

Em qualquer caso, é bom deixar alguma memória livre para ser usada para buffers de E / S. Se você executar VMs semelhantes, dê uma olhada no KSM para otimizar o uso da memória.

    
por 23.12.2011 / 14:20
0

Além das considerações que @dyasny abordou, você também precisa considerar quantos soquetes existem em seu host.

Se você tiver uma configuração de 4 soquetes de 2 núcleos, não desejará alocar muitos núcleos por VM, pois seu desempenho poderá ser prejudicado se a VM precisar se comunicar pela memória principal.

Eu já experimentei esse problema antes, mas YMMV. Teste sua configuração.

    
por 23.12.2011 / 16:01