¿Invitado de 64 bits o 32 bits para un host de 64 bits? (VMware)

10

Entonces, aquí está mi pregunta de todos los tiempos. Nunca he visto una respuesta total, así que por favor muchachos, ayúdenme.

Tengo una CPU Intel Core i7 con todas las cosas de hardware habilitadas (excepto hyper-threading).
Mi sistema operativo es un Win 7 x64 Professional, SP1, legítimo.

Tengo VMWare instalado (7.1.4 atm).

¿Qué invitado debo usar? 64 bits o 32 bits?
Solo que no lo se. ¿Cual es mejor?

(La memoria no es un problema, tengo 10gig en la PC. Quiero saber cuál es mejor en cuanto al rendimiento del invitado).

apache
fuente
He ejecutado ambos y parece que nunca noto una diferencia de rendimiento significativa, supongo que si quieres darle al vm más de 4 gigs, entonces el bit de 64 podría ser más rápido. Sin embargo, nunca he necesitado una máquina virtual con más de 4 gigas de RAM que no esté en hipervisor de metal desnudo.
Supercereal

Respuestas:

7

Hay dos factores involucrados aquí. En orden:

Emulación de CPU
Es posible que una falta de coincidencia entre el host y el invitado obligue a la VM a usar el modo de emulación de CPU. No espero que esto suceda, pero dependiendo de su hipervisor, sistema operativo y arquitectura, es posible. Desea evitar esto a toda costa. La otra parte de esto es que desea que su hipervisor VM también coincida con su sistema host. Entonces, si tiene Windows de 64 bits, busque una edición de 64 bits de VirtualBox, VMWare, etc. Una vez que esté seguro de que esto no es un problema, se reduce al siguiente factor:

RAM
Si generalmente le dará a sus invitados menos de 4 GB de RAM, quédese con 32 bits por ahora. También hay otros cambios en el cambio a x64, pero en su mayor parte no ayudarán a sus máquinas virtuales tanto como lo hará la RAM guardada desde un puntero / tamaño de palabra más pequeño, porque las máquinas virtuales tienen más problemas de E / S y necesitan la RAM más para ayudar a ahorrar yendo al disco con tanta frecuencia. No olvides permitir el crecimiento aquí. No desea tener que reconstruir una VM desde cero. Por ejemplo, probablemente configuraría una VM que actúa como un servidor de base de datos de 64 bits, incluso si en este momento solo tiene 2 GB de RAM. Yo haría lo mismo para una imagen de prueba de Windows 7. Pero si tuviera una máquina que existe para algo como probar un sitio web bajo IE7 en Windows XP, lo dejaría en 32 bits.

Como nota final, mencionas que tienes hyperthreading desactivado. Probablemente quiera eso si está haciendo mucho trabajo de VM. La razón por la que a veces quieres desactivar esto es porque da más caché por núcleo. La mayoría de las personas con procesadores de cuatro núcleos ni siquiera usan todos los núcleos la mayor parte del tiempo, y el núcleo adicional proporcionado por hyperthreading simplemente no es tan poderoso debido a problemas de conflicto en la tubería donde las dos instrucciones que ocurren en el mismo físico podrían ser relacionado de alguna manera. Por lo tanto, la ganancia de tamaños de caché más grandes en algunos núcleos a veces puede superar la ganancia de núcleos débiles adicionales. Las máquinas virtuales, sin embargo, pueden usar esos núcleos adicionales falsos y asegurarse de tener tuberías bastante limpias con algunos de los problemas que normalmente retrasan esta característica.

Joel Coehoorn
fuente
2

Le sugiero que use invitados de 64 bits por una sola razón: funcionan perfectamente con más de 4 Gb de RAM. Hoy en día 4G no es mucho, e incluso si no lo necesita en este momento, es posible que deba tener> 4G RAM en el invitado después de un tiempo.

Y en este caso, se le pedirá que realice la reinstalación completa del invitado de 32 bits, mientras que con 64 bits solo tendrá que cambiar la configuración de VM.

rvs
fuente
1
4GB es más que suficiente para la mayoría de las personas ... así que decir que no es mucho es una tontería: P
Riguez
2
Díselo a mi jboss + activemq + terracota :)
rvs
1
Probablemente pueda dividir su JBOS + ACTIVEMQ y TERACOTTA en máquinas virtuales separadas.
Arquímedes Trajano