Ich habe gerade einen aktualisierten Host-Computer erhalten und möchte einige dieser Fortschritte auf die Gastbetriebssysteme meiner Workstations übertragen. Insbesondere hatte ich früher einen einzelnen Prozessor mit 2 Kernen, sodass mein Gastbetriebssystem nur 1/1 hatte.
Jetzt habe ich einen einzelnen Prozessor mit 8 Kernen, also bin ich gespannt, was jetzt für mein Gastbetriebssystem empfohlen wird.
- 1 Prozessor / 4 Kerne?
- 2 Prozessoren / 2 Kerne?
- 4 Prozessoren / 1 Kern?
Mein Instinkt sagt, dass ich mich an die Anzahl der physischen Prozessoren (oder weniger) halten soll, aber basiert das auf der Realität? Ich habe eine Weile nach einer Antwort gesucht, aber vielleicht ist mein Google-Karma heute nicht zu meinen Gunsten.
cpu
vmware-workstation
reidLinden
quelle
quelle
Antworten:
In meinen eigenen Tests mit VMWare Workstation unter Verwendung der neuesten GeekBench 3, 64-Bit-Tests, auf einem Host-Computer mit 1 CPU, 2 Kernen (mit aktiviertem HT, also 4 Kernen):
Host-System:
Virtualisiert:
Zumindest in meinen Tests sieht es so aus, als ob es von Vorteil ist, die virtuelle Anzahl der Kerne so einzustellen, dass sie mit Ihren physischen Kernen übereinstimmt. Vielleicht bin ich falsch. Ich würde gerne diskutieren.
quelle
Ich weiß nicht, ob diese Informationen noch gültig sind, aber in der nicht allzu langen Vergangenheit skalierten zusätzliche Gast-CPUs nicht annähernd so gut wie Host-CPUs. In der Tat war beste Empfehlung mit einzelnem CPUs im Gast Konfigurationen zu bleiben , wenn Sie speziell testen / Debuggen Multithreaded Software in Ihren Gästen und benötigte eine SMP - Umgebung.
Bearbeiten: Diese Antwort bezieht sich insbesondere auf die Desktop-Virtualisierung, nicht auf die Server-Virtualisierung.
quelle
Ich gebe meinem Gast höchstens OS 2-Kerne. Es spielt keine Rolle, ob Sie jeweils 1 Prozessor 2 Kerne oder 2 Prozessor 1 Kern ausführen. Die Prozessoreinstellung erfolgt aus Kompatibilitätsgründen. Prozessor / Kerne lassen sich aufgrund der Planung von Kern- / Prozessorprozessen für Gastbetriebssysteme nicht so gut skalieren. 2 Kerne scheinen der Sweet Spot zu sein.
quelle
An dieser Stelle gibt es kaum einen Unterschied. In einigen Fällen kann die Softwarelizenzierung von Kernen oder CPUs abhängen.
Dies ist nur in einem Benchmark möglich, der alle Kerne verwendet. Die meisten Anwendungen skalieren die Leistung nicht linear mit der Anzahl der Kerne, da sie nur keine zusätzlichen Kerne verwenden.
Es gibt auch einen gewissen Overhead beim Hinzufügen weiterer Kerne. Fügen Sie daher kurz gesagt nur die Anzahl der Kerne hinzu, die Ihre Anwendung benötigt, um die von Ihnen benötigten Ebenen auszuführen. Nur weil Sie 4 Kerne in Ihrem Host haben, bedeutet dies nicht, dass jede VM 4 Kerne erhalten sollte.
In einigen von mir verwalteten Umgebungen verfügen wir über zwei 10-Kern-CPUs mit insgesamt 40 logischen Threads, und meine Domänencontroller erhalten immer noch nur zwei Kerne.
quelle
Ich bin ziemlich schockiert, dass diese häufig gestellten Fragen noch nicht vollständig beantwortet wurden. Ihre Host-CPU sollte einige Virtualisierungstechnologien unterstützen, z. B. Intel VTx. Auf diese Weise können Sie die gesamte Leistung der CPU in Ihr Gastbetriebssystem "tunneln". Andernfalls kommt es aufgrund der Emulation einer CPU zu einem enormen Geschwindigkeitsabfall. Wenn Sie eine CPU mit Hyperthreading haben, sollten im Geräte-Manager Ihres Host-Computers 8 Prozessoren für eine Quad-Core-CPU angezeigt werden (Hyperthreading verdoppelt die Anzahl Ihrer Kerne). In diesem Fall können Sie Ihrem Gast-Betriebssystem 1 Prozessor mit 4 Kernen zuweisen. Weisen Sie Ihrer virtuellen Maschine nicht mehr als einen Prozessor zu, solange Sie keinen anderen physischen Prozessor in Ihrem System haben. Sie können Ihrem Gast-Betriebssystem je nach Bedarf mehr oder weniger Kerne zuweisen, sollten dies jedoch nicht tun t Weisen Sie einen höheren Wert als Ihre Hyperthreading-Kerne zu. Beachten Sie jedoch, dass Ihr Host auch etwas CPU-Leistung benötigt. Normalerweise richte ich die halbe Anzahl meiner Hyperthreading-Kerne und die halbe Anzahl meines Speichers ein, z. B. 8192 MB, wenn Sie über 16 Gig RAM verfügen. Dies ist normalerweise eine gute Einstellung, aber nicht, wenn Sie mehr als eine virtuelle Maschine gleichzeitig ausführen möchten.
quelle