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.
Tenha cuidado com a alocação de memória - você nunca quer acabar em swap.