Wenn für virtuelle Maschinen SMP auf dem Host verfügbar ist, sollte Gast auch über SMP verfügen?

530
supercheetah

Ich versuche herauszufinden, was für virtuelle Maschinen und SMP sozusagen am besten sind.

Ich habe einen Intel Core 2 Duo, der natürlich zwei Kerne und die VT-Erweiterungen besitzt, und ich verwende Ubuntu Linux (Host) mit VirtualBox, die Windows Vista (Gast) hat.

Derzeit habe ich das Gastcomputer-Setup für zwei Prozessoren, um Windows die Möglichkeit zu geben, seine eigene Parallelität zu verwalten, aber ich bin nicht sicher, ob es schneller ist. Ich habe es mit nur einem Prozessor ausprobiert, aber es ist schwer zu sagen, ob es besser ist.

Irgendwelche Gedanken? Soll der Gast über zwei Prozessoren verfügen?

2

4 Antworten auf die Frage

1
Goyuix

Es hängt wirklich von Ihren Bedürfnissen ab, aber in Ihrer Situation würde ich es für besser halten, das SMP für den Gast aktiviert zu lassen. Ich stütze mich darauf, dass Sie, wenn Sie sich in der VM befinden, wahrscheinlich versuchen, etwas Bestimmtes zu erreichen, und Sie kümmern sich nicht um die Host-Leistung oder andere VMs, die möglicherweise ausgeführt werden.

Es ist jedoch wahrscheinlich, dass Sie bei einem typischen Desktop-Computer nichts tun, was wirklich spürbare Vorteile von Multi-CPU-Setups zeigt. Und in einer VM ist der größte Engpass bei der Leistung wahrscheinlich E / A. Es ist wirklich ein Spagat zwischen all den gleichzeitigen Anforderungen an Ihre Hardware: CPU, RAM, E / A usw.

0
Bryce

Laut der WIKI für VirtualBox :

"SMP-Unterstützung (bis zu 32 virtuelle CPUs) seit Version 3.0"

Meine Vermutung wird also sein, dass Sie SMP mit virutalen Prozessen emulieren, und deswegen werden Sie wahrscheinlich keine wirklichen Gewinne sehen.

0
Montag451

Kann Ihre Anwendung auf dem Gastbetriebssystem mehr als einen CPU-Kern verwenden? Wie ich weiß, gibt es in den letzten Anwendungen noch nicht viel Parallelität.

0
Andrew J. Brehm

Wenn Sie nur über zwei Kerne verfügen, sollten Sie wahrscheinlich keine VM einrichten, die beide Kerne verwendet. Wenn Sie die VM auf einen Kern beschränken, erzielen Sie wahrscheinlich die beste Leistung.