Convidado de 64 ou 32 bits para um host de 64 bits? (VMware)


10

Então, aqui está a minha pergunta permanente. Nunca vi uma resposta total para isso, então por favor pessoal, me ajudem.

Eu tenho uma CPU Intel Core i7 com todos os itens de hardware ativados (exceto hyper-threading).
Meu sistema operacional é um Win 7 x64 Professional, SP1, legítimo.

Eu tenho o VMWare instalado (7.1.4 atm).

Que hóspede devo usar? 64 bits ou 32 bits?
Eu simplesmente não sei. Qual é melhor?

(A memória não é um problema, tenho 10gig no PC. Quero saber qual é o melhor meio de desempenho do hóspede.)


Já corri os dois e nunca pareço notar nenhuma diferença significativa de desempenho, acho que se você quiser dar à vm mais de 4gigs, o 64 bits pode ser mais rápido. No entanto, eu nunca precisei de uma vm com mais de 4gigs de RAM que não estivesse na hiper viseira bare metal.
Supercereal 31/03

Respostas:


7

Existem dois fatores envolvidos aqui. Em ordem:

Emulação da CPU
É possível que uma incompatibilidade entre o host e o convidado force a VM a usar o modo de emulação da CPU. Não espero que isso aconteça, mas, dependendo do seu hipervisor, sistema operacional e arquitetura, é possível. Você quer evitar isso a todo custo. A outra parte disso em que você deseja que o hipervisor da VM também corresponda ao seu sistema host. Portanto, se você possui Windows de 64 bits, procure uma edição de 64 bits do VirtualBox, VMWare etc. Depois de ter certeza de que isso não é um problema, tudo se resume ao seguinte fator:

RAM
Se você geralmente oferecer a seus convidados menos de 4 GB de RAM, fique com 32 bits por enquanto. Também há outras alterações na mudança para x64, mas, na maior parte, elas não ajudam suas VMs tanto quanto a RAM salva de um ponteiro / tamanho menor, porque as VMs têm mais problemas de E / S e precisam da RAM mais para ajudar a economizar o acesso ao disco com a mesma frequência. Não se esqueça de permitir o crescimento aqui. Você não precisa reconstruir uma VM do zero. Por exemplo, eu provavelmente configuraria uma VM agindo como um servidor de banco de dados como 64 bits, mesmo que agora tenha apenas 2 GB de RAM. Eu faria o mesmo para uma imagem de teste do Windows 7. Mas se eu tivesse uma máquina que existe para algo como testar um site no IE7 no Windows XP, deixaria isso em 32 bits.

Como nota final, você menciona que tem o hyperthreading desativado. Você provavelmente quer isso se estiver fazendo muito trabalho com VM. Às vezes, você deseja desativar essa opção porque fornece mais cache por núcleo. A maioria das pessoas com processadores quad core nem usa todos os núcleos a maior parte do tempo, e o núcleo adicional fornecido pelo hyperthreading não é tão poderoso por causa de problemas de conflito no pipeline, onde as duas instruções que acontecem no mesmo físico podem ser relacionado de alguma forma. Assim, o ganho de tamanhos de cache maiores em poucos núcleos às vezes pode superar o ganho de núcleos fracos adicionais. As VMs, no entanto, podem usar esses núcleos extras falsos e ter certeza de pipelines bastante limpos com alguns dos problemas que normalmente retêm esse recurso.


2

Eu sugiro que você use convidados de 64 bits por apenas um motivo: eles funcionam perfeitamente com mais de 4 Gb de RAM. Atualmente, o 4G não é muito, e mesmo se você não precisar dele no momento, pode ser necessário ter> 4G de RAM como convidado depois de um tempo.

Nesse caso, você precisará reinstalar completamente o convidado de 32 bits, enquanto que o de 64 bits precisará alterar apenas as configurações de vm.


1
4GB é mais do que suficiente para a maioria das pessoas ... então dizer que não é muito é apenas bobagem: P
Riguez 31/03/11

2
Diga-o para o meu jboss + activemq + terracota :) #
1123

1
Provavelmente, você pode dividir seu JBOS + ACTIVEMQ e TERACOTTA em VMs separadas.
Archimedes Trajano
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.