VM-Speicher

Wenn Sie eine VM erstellen, wird der VM eine feste Menge an Speicher zugewiesen. Sie können Dynamic Memory Control (DMC) verwenden, um die Auslastung des physischen Speichers in Ihrer HASH-Umgebung (0x2c1a078) zu verbessern. DMC ist eine Speicherverwaltungsfunktion, die die dynamische Neuzuweisung des Speichers zwischen VMs ermöglicht.

HASH (0x2e6c8e8) bietet eine grafische Anzeige der Speichernutzung auf der Registerkarte Speicher . Weitere Informationen finden Sie in der Hilfe zu HASH (0x2e6c8e8).

Dynamic Memory Control (DMC) bietet folgende Vorteile:

  • Sie können Arbeitsspeicher hinzufügen oder löschen, ohne die VMs neu zu starten, was dem Benutzer eine nahtlose Benutzererfahrung bietet.

  • Wenn Server voll sind, können Sie mit DMC mehr VMs auf diesen Servern starten, wodurch der Arbeitsspeicher, der den ausgeführten VMs zugewiesen wurde, proportional reduziert wird.

Was ist Dynamic Memory Control (DMC)?

HASH (0x2c1a078) DMC arbeitet durch die automatische Anpassung des Arbeitsspeichers laufender VMs, wobei die Speichermenge, die jeder VM zugewiesen ist, zwischen den angegebenen Mindest- und Maximalspeicherwerten, die Leistung garantiert und eine größere Dichte von VMs pro Server ermöglicht wird.

Wenn ein Server voll ist, schlägt das Starten zusätzlicher VMs ohne DMC fehl, wenn ein Server voll ist, mit Fehlern aus dem Arbeitsspeicher. Um die vorhandene VM-Speicherzuweisung zu reduzieren und Platz für mehr VMs zu schaffen, bearbeiten Sie die Speicherzuweisung jeder VM und starten Sie die VM neu. Bei Verwendung von DMC versucht HASH (0x2c1a078), Speicher zurückzugewinnen, indem die aktuelle Speicherzuweisung ausgeführter VMs innerhalb ihrer definierten Speicherbereiche automatisch reduziert wird. HASH (0x2c1a078) versucht, Speicher zurückzufordern, selbst wenn der Server voll ist.

Hinweis:

Dynamic Memory Control wird von VMs mit einer virtuellen GPU nicht unterstützt.

Das Konzept des dynamischen Bereichs

Für jede VM kann der Administrator einen dynamischen Speicherbereich festlegen. Der dynamische Speicherbereich ist der Bereich, in dem Speicher hinzugefügt oder von der VM entfernt werden kann, ohne dass ein Neustart erforderlich ist. Wenn eine VM ausgeführt wird, kann der Administrator den Dynamikbereich anpassen. HASH (0x2c1a078) garantiert immer, dass die der VM zugewiesene Speichermenge im Dynamikbereich aufbewahrt wird. Daher kann HASH (0x2c1a078) dazu führen, dass die der VM zugewiesene Speichermenge angepasst wird. Der extremste Fall ist, dass der Administrator die dynamische Min/Max auf denselben Wert setzt und HASH (0x2c1a078) zwingt, sicherzustellen, dass diese Menge an Speicher der VM zugewiesen wird. Wenn neue VMs auf „vollen“ Servern gestartet werden müssen, haben laufende VMs ihren Arbeitsspeicher „gequetscht“, um neue zu starten. Der erforderliche zusätzliche Speicher wird erhalten, indem die vorhandenen laufenden VMs proportional innerhalb ihrer vordefinierten Dynamikbereiche zusammengedrückt werden.

Mit DMC können Sie dynamische Minimal- und Maximalspeicherstufen konfigurieren und einen Dynamic Memory Range (DMR) erstellen, in dem die VM arbeitet.

  • Dynamischer Mindestspeicher: Ein niedrigeres Speicherlimit, das Sie der VM zuweisen.

  • Dynamisches höheres Limit: Ein oberes Speicherlimit, das Sie der VM zuweisen.

Wenn beispielsweise der dynamische Mindestspeicher 512 MB und der dynamische Maximalspeicher auf 1.024 MB festgelegt wurde, erhält der VM einen Dynamic Memory Range (DMR) von 512 — 1024 MB, innerhalb dessen er arbeitet. HASH (0x2c1a078) garantiert die Zuweisung jedes VM-Speichers innerhalb des angegebenen DMR bei Verwendung von DMC.

Das Konzept des statischen Bereichs

Viele Betriebssysteme, die HASH (0x2c1a078) unterstützt, verstehen den Begriff, Speicher dynamisch hinzuzufügen oder zu löschen, nicht vollständig. Daher muss HASH (0x2c1a078) die maximale Speichermenge deklarieren, die eine VM zum Zeitpunkt des Neustarts benötigt. Wenn Sie die maximale Speichermenge deklarieren, kann das Gastbetriebssystem seine Seitentabellen und andere Speicherverwaltungsstrukturen entsprechend skalieren. Dies führt das Konzept eines statischen Speicherbereichs innerhalb von HASH (0x2c1a078) ein. Der statische Speicherbereich kann nicht angepasst werden, wenn die VM ausgeführt wird. Für einen bestimmten Start ist der Dynamikbereich so eingeschränkt, dass er immer in diesem statischen Bereich enthalten ist. Das statische Minimum (die untere Grenze des statischen Bereichs) schützt den Administrator und ist auf die niedrigste Speichermenge eingestellt, die das Betriebssystem mit HASH ausführen kann (0x2c1a078).

Hinweis:

Es wird empfohlen, die statische Mindeststufe nicht zu ändern, da die statische Mindeststufe pro Betriebssystem auf der unterstützten Ebene festgelegt ist. Weitere Informationen finden Sie in der Tabelle für Speicherbeschränkungen.

Wenn Sie einen statischen Maximalwert festlegen, der höher als ein dynamischer Maximalwert ist, können Sie einer VM künftig mehr Speicher zuweisen, ohne die VM neu zu starten.

DMC-Verhalten

Automatisches VM-Quetschen

  • Wenn DMC nicht aktiviert ist und Hosts voll sind, schlagen neue VM-Starts mit Fehlern aus dem Arbeitsspeicher fehl.

  • Wenn DMC aktiviert ist, versucht HASH (0x2c1a078), selbst wenn Hosts voll sind, Speicher zurückzugewinnen, indem die Speicherzuweisung ausgeführter VMs innerhalb ihrer definierten Dynamikbereiche reduziert wird. Auf diese Weise werden ausgeführte VMs proportional im gleichen Abstand zwischen dem dynamischen Minimum und dem dynamischen Maximum für alle VMs auf dem Host gequetscht.

Wenn DMC aktiviert ist

  • Wenn der Speicher des Hosts reichlich vorhanden ist - Alle laufenden VMs erhalten ihren dynamischen maximalen Arbeitsspeicher.

  • Wenn der Arbeitsspeicher des Hosts knapp ist, erhalten alle ausgeführten VMs den dynamischen Mindestspeicher.

Denken Sie bei der Konfiguration von DMC daran, dass die Zuweisung von nur einem kleinen Arbeitsspeicher zu einer VM dies negativ beeinflussen kann. Zum Beispiel, Zuweisung zu wenig Speicher:

  • Die Verwendung von Dynamic Memory Control zur Reduzierung des physischen Speichers, der einer VM zur Verfügung steht, kann dazu führen, dass der Neustart langsam erfolgt. Wenn Sie einer VM zu wenig Speicher zuweisen, kann sie langsam starten.

  • Das Festlegen des minimalen dynamischen Arbeitsspeichers für eine zu niedrige VM kann zu Performance- oder Stabilitätsproblemen führen, wenn die VM gestartet wird.

Wie funktioniert DMC?

Mit DMC ist es möglich, eine virtuelle Gastmaschine in einem von zwei Modi zu betreiben:

  1. Zielmodus: Der Administrator gibt ein Speicherziel für den Gast an. HASH (0x2c1a078) passt die Speicherzuweisung des Gastes an das Ziel an. Das Angeben eines Ziels ist nützlich in virtuellen Serverumgebungen und in Situationen, in denen Sie genau wissen, wie viel Speicher ein Gast verwenden soll. HASH (0x2c1a078) passt die Speicherzuweisung des Gastes an das angegebene Ziel an.

  2. Dynamischer Bereichsmodus: Der Administrator gibt einen dynamischen Speicherbereich für den Gast an. HASH (0x2c1a078) wählt ein Ziel aus dem Bereich aus und passt die Speicherzuweisung des Gastes an das Ziel an. Die Angabe eines dynamischen Bereichs ist in virtuellen Desktopumgebungen und in allen Situationen nützlich, in denen HASH (0x2c1a078) den Hostspeicher dynamisch neu partitionieren soll, als Reaktion auf die sich ändernde Anzahl von Gästen oder den Druck des Hostspeichers. HASH (0x2c1a078) wählt ein Ziel innerhalb des Bereichs aus und passt die Speicherzuweisung des Gastes an das Ziel an.

Hinweis:

Für jeden laufenden Gast ist es jederzeit möglich, zwischen Ziel- und Dynamikbereichsmodus zu wechseln. Geben Sie ein neues Ziel oder einen neuen Dynamikbereich an, und HASH (0x2c1a078) kümmert sich um den Rest.

Speicherbeschränkungen

Mit HASH (0x2c1a078) können Administratoren alle Speichersteuerungsvorgänge mit jedem Gastbetriebssystem verwenden. HASH (0x2c1a078) erzwingt jedoch die folgende Speichereigenschaftsregel für alle Gäste:

0 memory-static-min memory-dynamic-min memory-dynamic-max memory-static-max

HASH (0x2c1a078) ermöglicht es Administratoren, Gastspeichereigenschaften auf Werte zu ändern, die diese Einschränkung erfüllen, vorbehaltlich Validierungsprüfungen. Zusätzlich zur vorherigen Einschränkung unterstützen wir jedoch nur bestimmte Gastspeicherkonfigurationen für jedes unterstützte Betriebssystem. Der Umfang der unterstützten Konfigurationen hängt vom verwendeten Gastbetriebssystem ab. HASH (0x2c1a078) hindert Administratoren nicht daran, Gäste so zu konfigurieren, dass sie das unterstützte Limit überschreiten. Kunden werden jedoch empfohlen, Speichereigenschaften innerhalb der unterstützten Grenzen zu halten, um Performance- oder Stabilitätsprobleme zu vermeiden. Ausführliche Richtlinien zu den minimalen und maximalen Speicherlimits für jedes unterstützte Betriebssystem finden Sie unterUnterstützung des Gastbetriebssystems.

Achtung:

Bei der Konfiguration des Gastspeichers empfehlen wir, die maximale Menge des physischen Speichers, der von Ihrem Betriebssystem adressierbar ist, NICHT zu überschreiten. Das Festlegen eines Speichermaximales, das größer ist als das vom Betriebssystem unterstützte Limit, kann zu Stabilitätsproblemen innerhalb Ihres Gastes führen.

Das dynamische Minimum muss größer oder gleich einem Viertel des statischen Maximums für alle unterstützten Betriebssysteme sein. Eine Reduzierung der Untergrenze unter das dynamische Minimum kann ebenfalls zu Stabilitätsproblemen führen. Administratoren werden aufgefordert, die Größe ihrer VMs sorgfältig zu kalibrieren und sicherzustellen, dass ihre Arbeitsgruppen zuverlässig und dynamisch funktionieren.

xe-CLI-Befehle

Anzeigen der statischen Speichereigenschaften einer VM

  1. Suchen Sie die UUID der erforderlichen VM:

    xe vm-list
    
  2. Beachten Sie die uuid, und führen Sie dann den Befehlparam-name=memory-static

    xe vm-param-get uuid=uuid param-name=memory-static-{min,max}
    

    Im Folgenden werden beispielsweise die statischen maximalen Speichereigenschaften für die VM mit dem UUID-Beginn ec77 angezeigt:

    xe vm-param-get uuid= \
        ec77a893-bff2-aa5c-7ef2-9c3acf0f83c0 \
        param-name=memory-static-max;
        268435456
    

    Das Beispiel zeigt, dass der statische maximale Speicher für diese VM 268.435.456 Byte (256 MB) beträgt.

Anzeigen der dynamischen Speichereigenschaften einer VM

Um die Eigenschaften des dynamischen Speichers anzuzeigen, führen Sie die oben beschriebenen Schritte aus, verwenden Sie jedoch den Befehlparam-name=memory-dynamic:

  1. Suchen Sie die UUID der erforderlichen VM:

    xe vm-list
    
  2. Beachten Sie die uuid, und führen Sie dann den Befehl ausparam-name=memory-dynamic:

    xe vm-param-get uuid=uuid param-name=memory-dynamic-{min,max}
    

    Im Folgenden werden beispielsweise die dynamischen maximalen Speichereigenschaften für die VM mit uuid beginnend ec77 angezeigt

    xe vm-param-get uuid= \
        ec77a893-bff2-aa5c-7ef2-9c3acf0f83c0 \
        param-name=memory-dynamic-max;
        134217728
    

    Das Beispiel zeigt, dass der dynamische maximale Speicher für diese VM 134.217.728 Byte (128 MB) beträgt.

Speichereigenschaften aktualisieren

Achtung:

Verwenden Sie die richtige Reihenfolge, wenn Sie die statischen/dynamischen Minimum/Maximum -Parameter einstellen. Darüber hinaus dürfen Sie die folgende Einschränkung nicht ungültig machen:

0 memory-static-min memory-dynamic-min memory-dynamic-max memory-static-max

Aktualisieren Sie den statischen Speicherbereich einer virtuellen Maschine:

xe vm-memory-static-range-set uuid=uuid min=valuemax=value

Aktualisieren Sie den dynamischen Speicherbereich einer virtuellen Maschine:

xe vm-memory-dynamic-range-set \
      uuid=uuid min=value \
      max=value

Die Angabe eines Ziels ist in virtuellen Serverumgebungen und in allen Situationen nützlich, in denen Sie genau wissen, wie viel Speicher ein Gast verwenden soll. HASH (0x2c1a078) passt die Speicherzuweisung des Gastes an das angegebene Ziel an. Beispiel:

xe vm-target-set target=value vm=vm-name

Aktualisieren Sie alle Speichergrenzen (statisch und dynamisch) einer virtuellen Maschine:

xe vm-memory-limits-set \
      uuid=uuid \
      static-min=value \
      dynamic-min=value \
      dynamic-max=value static-max=value

Hinweise:

  • Wenn Sie einer VM, die sich nicht ändert, einen bestimmten Arbeitsspeicher zuweisen möchten, legen Sie das dynamische Maximum und das dynamische Minimum auf denselben Wert fest.
  • Sie können den dynamischen Speicher einer VM nicht über das statische Maximum hinaus erhöhen.
  • Um das statische Maximum einer VM zu ändern, müssen Sie die VM herunterfahren.

Aktualisieren einzelner Speichereigenschaften

Achtung:

Ändern Sie nicht die statische Mindeststufe, wie sie pro Betriebssystem auf der unterstützten Ebene festgelegt ist. Weitere Informationen finden Sie unter Speicherbeschränkungen.

Aktualisieren Sie die dynamischen Speichereigenschaften einer VM.

  1. Suchen Sie die UUID der erforderlichen VM:

    xe vm-list
    
  2. Beachten Sie die uuid, und verwenden Sie dann den Befehlmemory-dynamic-{min,max}=value

    xe vm-param-set uuid=uuidmemory-dynamic-{min,max}=value
    

Im folgenden Beispiel wird das dynamische Maximum auf 128 MB geändert:

xe vm-param-set uuid=ec77a893-bff2-aa5c-7ef2-9c3acf0f83c0 memory-dynamic-max=128MiB