Unterstützt Virtualbox Hot-Add-Memory?

5203
BCoates

Ich habe eine Ubuntu-VM, die aufgrund einer kleinen Gastspeicherzuweisung auf einem Host mit viel freiem RAM einen tödlichen Swap bietet. Es scheint, dass der Gastkernel so kompiliert ist, dass er Hot-Adding-RAM unterstützt. Gibt es eine Möglichkeit, Virtualbox dazu zu bringen, mehr RAM bereitzustellen, ohne die laufende VM herunterzufahren?

Ich brauche keine Ausfallzeiten, ich kann einen Status speichern, aber ich möchte nicht, dass der mehrtägige Verarbeitungsjob auf dem Gast neu gestartet werden muss.

Gast ist Ubuntu 12.04, Host ist OSX 10.7, beide x64.

5

1 Antwort auf die Frage

3
soandos

VirtualBox unterstützt auf diese Weise nicht das Hinzufügen von mehr Arbeitsspeicher. In vielen Fällen lohnt es sich jedoch immer noch, die Berechnung erneut zu starten, da die Geschwindigkeit durch Verwendung des Arbeitsspeichers im Gegensatz zu einer Festplatte um den Faktor hundert oder mehr erhöht werden kann.

Ein wichtiger Hinweis: Auch wenn Ihre VM "Thrashing" ist, bedeutet dies nicht, dass der Arbeitsspeicher nicht von Windows verwendet wird (Zwischenspeicherung der von der VM verwendeten Festplatte) und daher das Thrashing keine bzw. nur geringe Auswirkungen hat.

Um herauszufinden, ob dies der Fall ist, überprüfen Sie einfach die Geschwindigkeit der Operation und sehen Sie, ob eine Änderung vorliegt (oder eine Änderung war), wenn die "Thrash-Operation" begonnen hat oder ob die RAM-Menge, die von verwendet wird Der VirtualBox-Prozess umfasst deutlich mehr RAM als der Gast.

Vbox unterstützt zwar keine Speicher-Hot-Add-Funktion, unterstützt jedoch das Aufblasen: http://www.virtualbox.org/manual/ch04.html#guestadd-balloon. Ich würde dem OP empfehlen, die VM neu zu starten - nur einmal - und dabei zu viel Speicherplatz zu beanspruchen, als Sie denken. Vbox * sollte klug sein und diesen zusätzlichen Speicher nur verwenden, wenn der Gast dies verlangt. Überschreiten Sie nicht über den physischen Arbeitsspeicher hinaus, aber Sie können dem physischen Arbeitsspeicher sehr nahe kommen. Im schlimmsten Fall beginnt Ihr Host mit dem Austausch, dies wird jedoch nur dann geschehen, wenn auf dem Host erheblicher Speicherdruck herrscht, was normalerweise eine gute Sache ist. Horn OK Please vor 12 Jahren 2
@allquixotic, stimmte zu, aber das ist nicht der Fokus der Frage (soweit ich das sowieso sagen kann). Wenn das OP diesbezüglich bearbeitet / kommentiert, füge ich diese Antwort meiner Antwort hinzu (oder zögern Sie nicht, Ihre eigene zu posten). soandos vor 12 Jahren 0
Die Auslagerungsdatei des Gasts befindet sich auf einer SSD, die direkt an die VM angehängt ist, nicht auf einem virtuellen Laufwerk. Das Host-Betriebssystem hat also keine Möglichkeit, es im Cache zu speichern. Das Austauschen geschieht nur zeitweise, wenn der Gast nicht zusammenhängende Anforderungen bedient. Dies führt dazu, dass die Verarbeitung fast zum Stillstand kommt, bis der andere Job abgeschlossen ist, der Fortschritt der Vorwärtsverarbeitung jedoch noch nicht abgeschlossen ist. BCoates vor 12 Jahren 0
@allquixotic, leider ist der Host OSX. Das wurde der Frage hinzugefügt. BCoates vor 12 Jahren 0
@BCoates, wenn das Swapfile auf einer SSD ist, ist Thrashing grundsätzlich bedeutungslos und macht euch keine Sorgen. soandos vor 12 Jahren 0