64-Bit- oder 32-Bit-Gast für einen 64-Bit-Host? (VMware)


10

Also, hier ist meine All-Timer-Frage. Ich habe noch nie eine vollständige Antwort darauf gesehen, also bitte Leute, hilf mir.

Ich habe eine Intel Core i7-CPU mit allen aktivierten Hardware-Komponenten (außer Hyper-Threading).
Mein Betriebssystem ist ein Win 7 x64 Professional, SP1, legitim.

Ich habe VMWare installiert (7.1.4 atm).

Welchen Gast soll ich benutzen? 64-Bit oder 32-Bit?
Ich weiß es einfach nicht. Welches ist besser?

(Speicher ist kein Problem, hat 10gig im PC. Ich möchte wissen, was besser in der Gastleistung ist.)


Ich habe beide ausgeführt und ich scheine nie einen signifikanten Leistungsunterschied zu bemerken. Ich denke, wenn Sie dem VM mehr als 4 GB geben möchten, ist das 64-Bit möglicherweise schneller. Ich hatte jedoch noch nie einen Bedarf an einem VM mit mehr als 4 GB RAM, der nicht auf einem Bare-Metal-Hypervisier basiert.
Supercereal

Antworten:


7

Hierbei handelt es sich um zwei Faktoren. In Ordnung:

CPU-Emulation
Es ist möglich, dass eine Nichtübereinstimmung zwischen dem Host und dem Gast die VM dazu zwingt, den CPU-Emulationsmodus zu verwenden. Ich erwarte nicht, dass dies passiert, aber je nach Hypervisor, Betriebssystem und Architektur ist dies möglich. Sie möchten dies um jeden Preis vermeiden. Der andere Teil davon, den Ihr VM-Hypervisor auch mit Ihrem Host-System übereinstimmen soll. Wenn Sie also über 64-Bit-Windows verfügen, suchen Sie nach einer 64-Bit-Version von VirtualBox, VMWare usw. Wenn Sie sicher sind, dass dies kein Problem darstellt, kommt es auf den nächsten Faktor an:

RAM
Wenn Sie Ihren Gästen im Allgemeinen weniger als 4 GB RAM zur Verfügung stellen, bleiben Sie vorerst bei 32 Bit. Es gibt auch andere Änderungen bei der Umstellung auf x64, aber zum größten Teil helfen diese Ihren VMs nicht so sehr wie der von einem kleineren Zeiger / einer kleineren Wortgröße gespeicherte RAM, da VMs mehr E / A-Probleme haben und den RAM benötigen mehr, um zu sparen, dass Sie so oft auf die Festplatte gehen. Vergessen Sie nicht, hier Wachstum zuzulassen. Sie möchten keine VM von Grund auf neu erstellen müssen. Zum Beispiel würde ich wahrscheinlich eine VM einrichten, die als Datenbankserver als 64-Bit fungiert, selbst wenn sie derzeit nur 2 GB RAM hat. Ich würde das gleiche für ein Windows 7-Testabbild tun. Aber wenn ich einen Computer hätte, der zum Testen einer Website unter IE7 unter Windows XP existiert, würde ich das bei 32 Bit belassen.

Als letzte Anmerkung erwähnen Sie, dass Sie das Hyperthreading deaktiviert haben. Sie möchten das wahrscheinlich aktivieren, wenn Sie viel VM-Arbeit erledigen. Der Grund, warum Sie dies manchmal deaktivieren möchten, ist, dass es mehr Cache pro Kern gibt. Die meisten Leute mit Quad-Core-Prozessoren verwenden nicht einmal alle Kerne, und der zusätzliche Kern, der durch Hyperthreading bereitgestellt wird, ist aufgrund von Konfliktproblemen in der Pipeline, bei denen die beiden Anweisungen möglicherweise in derselben physischen Ausführung auftreten, nicht so leistungsfähig in irgendeiner Weise verwandt. Daher kann der Gewinn durch größere Cache-Größen auf wenigen Kernen manchmal den Gewinn durch zusätzliche schwache Kerne überwiegen. VMs können jedoch diese gefälschten zusätzlichen Kerne verwenden und sich einigermaßen sauberer Pipelines mit einigen der Probleme sicher sein, die diese Funktion normalerweise zurückhalten.


2

Ich empfehle Ihnen, 64-Bit-Gäste nur aus einem Grund zu verwenden: Sie funktionieren perfekt mit mehr als 4 GB RAM. Heutzutage ist 4G nicht sehr viel, und selbst wenn Sie es gerade nicht benötigen, kann es nach einer Weile erforderlich sein,> 4G RAM auf dem Gast zu haben.

In diesem Fall müssen Sie den 32-Bit-Gast vollständig neu installieren, während Sie bei 64-Bit nur die VM-Einstellungen ändern müssen.


1
4 GB sind mehr als genug für die meisten Leute ... also zu sagen, dass es nicht viel ist, ist einfach albern: P
Riguez

2
Erzähl es meinem jboss + activemq + terracotta :)
rvs

1
Sie können JBOS + ACTIVEMQ und TERACOTTA wahrscheinlich in separate VMs aufteilen.
Archimedes Trajano
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.