As informações nesta resposta não estão mais corretas . Estava correto nos dias de rigoroso co-agendamento, mas não é mais o caso.
Estou mantendo a resposta abaixo para garantir a prosperidade, mas não confie nela para ser precisa para os hipervisores modernos.
Você nunca deve atribuir todos os seus núcleos como vCPUs em uma máquina virtual.
Se uma VM solicita qualquer tempo de CPU, VMWare tem de alocar quer tudo o vCPUs, ou nenhum do vCPUs.
O que isso significa é que, em um sistema de quatro núcleos, se você alocar todos os quatro núcleos, somente o host ou o convidado poderá receber o tempo do processador, não os dois ao mesmo tempo.
Isso arruinará absolutamente o desempenho nos dois 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, nunca aloco mais do que (n / 2) vCPUs (no seu caso, 2) - mas normalmente aloco núcleos em servidores com entre 12 e 32 núcleos, nos quais é possível alocar um grande número de vCPUs sem grande impacto.