Acabei de receber uma máquina Host atualizada e estou procurando levar alguns desses avanços para o (s) SO (s) convidado (s) das estações de trabalho. Em particular, eu costumava ter um único processador, com 2 núcleos, portanto meu SO convidado tinha apenas 1/1.
Agora, eu tenho um único processador com 8 núcleos, então estou curioso sobre o que seria recomendado para o meu SO convidado agora?
- 1 processador / 4 núcleos?
- 2 processadores / 2 núcleos?
- 4 processadores / 1 núcleo?
Meu instinto diz ficar com o número de processadores físicos (ou menos), mas isso é baseado na realidade? Passei um bom tempo procurando uma resposta para isso, mas talvez meu google-karma não esteja a meu favor hoje.
cpu
vmware-workstation
reidLinden
fonte
fonte
Respostas:
Em meus próprios testes, com o VMWare Workstation, usando os mais recentes testes GeekBench 3 de 64 bits, em uma máquina host com 1 CPU, 2 núcleos (com o HT ativado, com 4 núcleos):
Sistema Host:
Virtualizado:
Portanto, pelo menos nos meus testes, parece que há um benefício em definir o número virtual de núcleos para corresponder aos núcleos físicos. Talvez eu esteja errado. Eu adoraria discutir.
fonte
Não sei se essas informações ainda são válidas, mas no passado não muito tempo atrás, as CPUs hóspedes adicionais não eram tão boas quanto as CPUs do host. De fato, a melhor recomendação era permanecer com CPUs únicas em suas configurações de convidados, a menos que você estivesse testando / depurando especificamente software multithread em seus convidados e exigisse um ambiente SMP.
Editar: Esta resposta é específica para virtualização de desktop, não para virtualização de servidores.
fonte
No máximo, eu dou aos meus núcleos OS 2 convidados. Não importa se você faz 1 processador, 2 núcleos ou 2 processadores, 1 núcleo cada. A configuração do procesor é por motivos de compatibilidade. Processador / núcleos não escalam tão bem para o SO convidado devido ao agendamento do processo núcleo / processador. 2 núcleos parecem ser o ponto ideal.
fonte
Há pouca diferença neste momento. Em alguns casos, o licenciamento de software pode depender de núcleos ou CPUs.
Isso é apenas em uma referência que usa todos os núcleos. A maioria dos aplicativos não dimensiona o desempenho linearmente com a contagem de núcleos, pois simplesmente não usam os núcleos extras.
Há também algum nível de sobrecarga com a adição de mais núcleos. Em resumo, adicione apenas o número de núcleos que seu aplicativo precisa para executar nos níveis necessários. Só porque você tem 4 núcleos no host, não significa que toda VM deve receber 4 núcleos.
Em vários ambientes que eu gerencio, temos CPUs duplas de 10 núcleos com um total de 40 threads lógicos e meus controladores de domínio ainda obtêm apenas dois núcleos.
fonte
Estou bastante chocado que essas perguntas freqüentes não tenham sido totalmente respondidas até agora. A CPU do host deve suportar algumas tecnologias de virtualização, por exemplo, o Intel VTx. Isso permite que você "encaminhe" todo o poder da CPU para o seu sistema operacional convidado. Caso contrário, haverá uma enorme queda de velocidade devido à emulação de uma CPU. Se você estiver tendo uma CPU com hyperthreading, deverá ver 8 processadores para uma CPU quad-core no gerenciador de dispositivos da sua máquina host (o hyperthreading duplica o número de seus núcleos). Nesse caso, você pode atribuir 1 processador com 4 núcleos ao seu sistema operacional convidado. Desde que você não tenha nenhum outro processador físico em seu sistema, não atribua mais de 1 processador à sua máquina virtual. Você pode atribuir mais ou menos núcleos ao seu sistema operacional convidado, dependendo de suas necessidades, mas não deve t atribua um valor maior que seus núcleos de hyperthreading. Mas observe que seu host também precisa de energia da CPU. Normalmente, configuro o número médio dos meus núcleos hyperthreading e o número médio da minha memória, por exemplo, 8192 MB quando você tem 16 GB de RAM. Geralmente, essa é uma boa configuração, mas não se você quiser executar mais de uma máquina virtual por vez.
fonte