Wie füge ich einem QEMU-Gast mehr RAM zu?

Melden
  1. RAM-Zuweisung beim Start der VM anpassen
  2. Dynamische RAM-Erweiterung während der Laufzeit (Memory Ballooning)
  3. Erhöhung des maximal möglichen RAM durch Neukonfiguration
  4. Zusammenfassung

Das Hinzufügen von mehr RAM zu einem QEMU-Gast erfordert im Allgemeinen Änderungen an der Konfiguration der virtuellen Maschine (VM), da der zugewiesene Speicher meist bei der Initialisierung der VM festgelegt wird. Es gibt mehrere Wege, dies zu erreichen, abhängig davon, ob die VM bereits läuft oder ob sie neu gestartet werden kann.

RAM-Zuweisung beim Start der VM anpassen

Am häufigsten wird der verfügbare Arbeitsspeicher beim Start der VM über die Kommandozeilenoption -m festgelegt. Möchten Sie zum Beispiel einer VM 4 GB RAM zuweisen, starten Sie QEMU mit dem Parameter -m 4G. Beispiel:

qemu-system-x86_64 -m 4G -hda /pfad/zur/vm.img

Wenn die VM bereits läuft oder Sie mit einem bestehenden Setup arbeiten, müssen Sie die Startkonfiguration anpassen. Bei Verwendung von Libvirt oder virt-manager bearbeiten Sie die XML-Definition der VM und ändern den Memory-Parameter. Anschließend starten Sie die VM neu, damit die neue RAM-Größe wirksam wird.

Dynamische RAM-Erweiterung während der Laufzeit (Memory Ballooning)

QEMU unterstützt die dynamische Anpassung des Speichers über sogenannte Memory Ballooning-Techniken. Hierbei wird ein spezielles Balloon-Gerät in der VM integriert und ein Treiber im Gast installiert (häufig "virtio-balloon"). Damit kann der Speicherverbrauch flexibel an den Bedarf angepasst werden. Allerdings bedeutet dies nicht, dass man einfach beliebig viel RAM hinzufügen kann, sondern der maximal verfügbare physische Speicher muss bereits beim Start reserviert sein.

Um Ballooning zu benutzen, starten Sie QEMU mit dem Parameter -device virtio-balloon oder konfigurieren das Balloon-Gerät über die Libvirt-XML. Im Gastbetriebssystem muss der Balloon-Treiber aktiv sein. Danach kann über Befehle im Host der tatsächlich vom Gast verwendete RAM erhöht oder verringert werden. Dies ist allerdings nur eine Verwaltung des bereits zugewiesenen Speichers, nicht das Hinzufügen von komplett neuem RAM.

Erhöhung des maximal möglichen RAM durch Neukonfiguration

Wenn Sie mehr RAM als ursprünglich geplant zur Verfügung stellen möchten, müssen Sie die VM stoppen und die RAM-Größe in der Startkonfiguration erhöhen. Bei reinem QEMU-Befehl erfolgt dies über die oben erwähnte Option -m. Bei Libvirt können Sie die XML-Datei der Domain bearbeiten:

<memory unit=KiB>4194304</memory> <!-- 4 GB --><currentMemory unit=KiB>4194304</currentMemory>

Nach Änderung speichern und die VM neu starten. Die Differenz hängt davon ab, wie viel RAM Ihr Host-System zur Verfügung hat.

Zusammenfassung

Um einem QEMU-Gast mehr RAM hinzuzufügen, passen Sie in der Regel die Startparameter an, insbesondere den -m-Wert, und starten die VM neu. Für erweiterte Szenarien wie Memory Ballooning ist eine speziellere Konfiguration nötig, die eine dynamische Anpassung erlaubt, aber nicht unbegrenzt RAM zur Verfügung stellt. Eine reale RAM-Erhöhung über die Grenzen der ursprünglichen Konfiguration hinaus ist nur durch Neukonfiguration und Neustart der VM möglich.

0

Kommentare