Você usou algumas tags aqui e parece que está procurando uma resposta genérica. Isso pode não ser possível: o KVM e o Vmware lidam com as coisas de maneira diferente.
No ESXi, a CPU é alocada para máquinas virtuais usando dois métodos:
- contagem do núcleo da CPU
- Restrição em MHz brutos
Um único núcleo de CPU pode usar até a velocidade do núcleo físico , ou a restrição de MHz, o que for menor.
O ESXi registra a quantidade de MHz usada por uma VM. Se for multi-core, terá mais head-room. No entanto, o desempenho single-thread nunca excederá a velocidade de um único desempenho do núcleo físico .
Dentro da própria VM, ela verá quantos núcleos são atribuídos a ela e calculará o desempenho com base nisso.
Parece que você está se sentindo em volta do problema "como as métricas de consumo de CPU ficam quando as VMs estão com excesso de assinaturas para computação".
Para o ESXi, é assim que funciona:
Máquina host:
- 4 núcleos, 2.9GHz cada
VM1 & 2:
- 3 núcleos atribuídos, sem restrições de MHz
Qual é uma inscrição de 50%.
Dado que a VM1 está usando 50% dos recursos alocados, a VMware relataria isso como 4350 MHz consumidos e o monitor da CPU na VM veria 50% de uso. Para a VM2 usando 10% dos recursos atribuídos, o VMware relataria 870 MHz consumidos e a VM veria 10% de uso.
Em suma, as VMs não se notariam.
Agora, para o caso em que há um verdadeiro uso excessivo. Adicione uma terceira VM, configurada da mesma forma que as outras duas, e assuma que todas as três estão tentando usar 50% de sua alocação de CPU. Temos três VMs tentando usar 13050 MHz, mas há apenas 1160 MHz para percorrer. Como isso funciona e como se manifesta?
Mais uma vez, para o ESXi, ele fará o down-clock das VMs, de modo que elas usem menos ciclos reais de CPU. Eles realmente usarão 3800ish de MHz cada uma de suas alocações de 8700MHz e, portanto, reportarão um uso de 43%.