Nós experimentamos um tempo atrás ( veja minha pergunta de um ano atrás ) com atribuição de vCPUs de núcleos físicos versus núcleos lógicos (threads) em CPUs quad-core com hyperthreading (8 vCPUs atribuíveis pareciam estar disponíveis). Como as respostas que eu recebi então sugeriram - e nossa experiência deu certo - você deve alocar o número mínimo de núcleos que você pode para cada convidado para permitir que ele execute.
Ao atribuir mais vCPUs do que os núcleos físicos disponíveis no host, se os convidados estiverem sob carga simultânea, o hyperthreading nem sempre é rápido o suficiente para alternar o contexto da CPU entre os threads para simular efetivamente outra CPU. Isso pode levar a coisas muito desagradáveis para todos os convidados, incluindo bloqueios e tempos limite que podem exigir reinicialização, fsck e pior na pilha. Mesmo que isso não aconteça, o desempenho geralmente será mais lento para os convidados do que mais rápido.
Como o @Chris S disse em seu comentário, "sempre aloque o mínimo possível e evite grandes dores de cabeça".