As informações nesta resposta não estão mais corretas . Foi correto nos dias de co-programação rigorosa, mas não é mais o caso.
Estou mantendo a resposta abaixo por causa do bem-estar, mas, por favor, não confie nela para ser preciso para hipervisores modernos.
Você deve nunca atribuir todos os seus núcleos como vCPUs em uma máquina virtual.
Se uma VM solicitar qualquer tempo de CPU, o VMWare terá para alocar todas as vCPUs ou nenhuma das vCPUs.
O que isto significa é que, em um sistema de 4 núcleos, se você alocar todos os 4 núcleos, somente o host ou o convidado poderão ser alocados no tempo do processador, não ambos ao mesmo tempo.
Isso arruinará a performance em ambos os ambientes.
Sinta-se à vontade para alocar um número ímpar de núcleos (digamos, 3). Parece estranho, mas é uma opção totalmente legítima.
Geralmente eu nunca aloco mais que (n / 2) vCPUs (no seu caso, 2) - mas normalmente eu aloco núcleos em servidores com 12 a 32 núcleos onde você pode alocar grandes números de vCPUs sem grandes impactos.