XenServer

Speicherverbrauch

Zwei Komponenten tragen zum Speicherbedarf des XenServer®-Hosts bei. Erstens der vom Xen-Hypervisor selbst verbrauchte Speicher. Zweitens der vom Control Domain des Hosts verbrauchte Speicher. Auch bekannt als ‘Domain0’ oder ‘dom0’, ist die Control Domain eine sichere, privilegierte Linux-VM, die den XenServer-Management-Toolstack (XAPI) ausführt. Neben der Bereitstellung von XenServer-Verwaltungsfunktionen führt die Control Domain auch den Treiber-Stack aus, der von Benutzern erstellten VMs den Zugriff auf physische Geräte ermöglicht.

Speicher der Control Domain

Die der Control Domain zugewiesene Speichermenge wird automatisch angepasst und basiert auf der Menge des physischen Speichers auf dem physischen Host. Standardmäßig weist XenServer der Control Domain 1 GiB plus 5 % des gesamten physischen Speichers zu, bis zu einem anfänglichen Maximum von 8 GiB.

Hinweis:

Der im XenServer-Abschnitt in XenCenter® angegebene Wert umfasst den von der Control Domain (dom0), dem Xen-Hypervisor selbst und dem Crash-Kernel verwendeten Speicher. Daher kann die in XenCenter angezeigte Speichermenge diese Werte überschreiten. Die vom Hypervisor verwendete Speichermenge ist bei Hosts mit mehr Speicher größer.

Speichermenge für die Control Domain ändern

Sie können die der dom0 zugewiesene Speichermenge über XenCenter oder über die Befehlszeile ändern. Wenn Sie die der Control Domain zugewiesene Speichermenge über den standardmäßig zugewiesenen Wert hinaus erhöhen, steht den VMs weniger Speicher zur Verfügung.

In den folgenden Fällen müssen Sie möglicherweise die der Control Domain eines XenServer-Hosts zugewiesene Speichermenge erhöhen:

  • Sie betreiben viele VMs auf dem Host
  • Sie verwenden PVS-Accelerator
  • Sie verwenden Lese-Caching

Wichtig:

Wenn Sie ein GFS2-SR verwenden und einer dieser Fälle auch auf Ihre Umgebung zutrifft, müssen Sie die Speichermenge der Control Domain erhöhen. Unzureichender Speicher der Control Domain kann zu Netzwerkinstabilität führen, was Probleme für geclusterte Pools mit GFS2-SRs verursachen kann.

Die der Control Domain zuzuweisende Speichermenge hängt von Ihrer Umgebung und den Anforderungen Ihrer VMs ab.

Sie können die folgenden Metriken überwachen, um zu beurteilen, ob die Menge des Arbeitsspeichers der Steuerdomäne für Ihre Umgebung angemessen ist und welche Auswirkungen von Ihnen vorgenommene Änderungen haben:

  • Swap-Aktivität: Wenn die Steuerdomäne swappt, erhöhen Sie den Arbeitsspeicher der Steuerdomäne.
  • Tapdisk-Modus: Sie können im XenCenter-Tab Performance des Hosts überwachen, ob Ihre Tapdisks im Low-Memory-Modus sind. Wählen Sie Aktionen > Neues Diagramm und dann das Diagramm Tapdisks im Low-Memory-Modus aus. Wenn eine Tapdisk im Low-Memory-Modus ist, erhöhen Sie den Arbeitsspeicher der Steuerdomäne.
  • Pagecache-Druck: Verwenden Sie den Befehl top, um die Metrik buff/cache zu überwachen. Wenn dieser Wert zu niedrig wird, sollten Sie den Arbeitsspeicher der Steuerdomäne erhöhen.

Ändern des dom0-Arbeitsspeichers mit XenCenter

Informationen zum Ändern des dom0-Arbeitsspeichers mit XenCenter finden Sie unter Ändern des Arbeitsspeichers der Steuerdomäne in der XenCenter-Dokumentation.

Hinweis:

Sie können XenCenter nicht verwenden, um den dom0-Arbeitsspeicher unter den Wert zu reduzieren, der ursprünglich während der XenServer-Installation festgelegt wurde. Um diese Änderung vorzunehmen, müssen Sie die Befehlszeile verwenden.

Ändern des dom0-Arbeitsspeichers mit der Befehlszeile

Hinweis:

Auf Hosts mit weniger Arbeitsspeicher (weniger als 16 GiB) möchten Sie möglicherweise den der Steuerdomäne zugewiesenen Arbeitsspeicher unter den Installationsstandardwert reduzieren. Sie können die Befehlszeile verwenden, um diese Änderung vorzunehmen. Wir empfehlen jedoch, den dom0-Arbeitsspeicher nicht unter 1 GiB zu reduzieren und diesen Vorgang unter Anleitung des Support-Teams durchzuführen.

  1. Öffnen Sie auf dem XenServer-Host eine lokale Shell und melden Sie sich als root an.

  2. Geben Sie Folgendes ein:

    xe host-list uuid=host_uuid params=control-domain-uuid
    xe vm-memory-set uuid=<control domain uuid> memory=<nn>M
    <!--NeedCopy-->
    

    Dabei stellt <nn> die Menge des Arbeitsspeichers in MiB dar, die dom0 zugewiesen werden soll.

  3. Starten Sie den XenServer-Host mit XenCenter oder dem Befehl reboot auf der XenServer-Konsole neu.

    Wenn der Host neu startet, führen Sie auf der XenServer-Konsole den Befehl free aus, um die neuen Speichereinstellungen zu überprüfen.

Wie viel Speicher steht VMs zur Verfügung?

Um herauszufinden, wie viel Host-Speicher VMs zugewiesen werden kann, ermitteln Sie den Wert des freien Speichers des Hosts, indem Sie memory-free ausführen. Geben Sie dann den Befehl vm-compute-maximum-memory ein, um die tatsächliche Menge an freiem Speicher zu erhalten, die der VM zugewiesen werden kann. Zum Beispiel:

xe host-list uuid=host_uuid params=memory-free
xe vm-compute-maximum-memory vm=vm_name total=host_memory_free_value
<!--NeedCopy-->
Speicherverbrauch