VM-Speicher

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

XenCenter bietet eine grafische Anzeige der Speichernutzung auf der Registerkarte „ Speicher “. Weitere Informationen finden Sie in der XenCenter Hilfe.

Dynamic Memory Control (DMC) bietet folgende Vorteile:

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

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

Was ist Dynamic Memory Control (DMC)?

Citrix Hypervisor DMC passt automatisch den Arbeitsspeicher ausgeführter VMs an, wobei die Speichermenge, die jeder VM zugewiesen wird, zwischen festgelegten Mindest- und Maximalspeicherwerten bleibt, 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 und „Out of Memory“ -Fehler. Um die vorhandene VM-Speicherzuweisung zu reduzieren und Platz für weitere VMs zu schaffen, bearbeiten Sie die Speicherzuweisung jeder VM, und starten Sie die VM neu. Bei Verwendung von DMC versucht Citrix Hypervisor, Speicher zurückzufordern, indem die aktuelle Speicherzuweisung ausgeführter VMs innerhalb ihrer definierten Speicherbereiche automatisch reduziert wird. Citrix Hypervisor versucht, Speicher zurückzugeben, selbst wenn der Server voll ist.

Hinweis:

Dynamic Memory Control wird nicht von VMs unterstützt, die über eine virtuelle GPU verfügen.

Das Konzept des Dynamikbereiches

Für jede VM kann der Administrator einen dynamischen Speicherbereich festlegen. Der dynamische Speicherbereich ist der Bereich, innerhalb dessen Speicher der VM hinzugefügt oder entfernt werden kann, ohne dass ein Neustart erforderlich ist. Wenn eine VM ausgeführt wird, kann der Administrator den Dynamikbereich anpassen. Citrix Hypervisor garantiert immer, dass der VM zugewiesene Arbeitsspeicher innerhalb des dynamischen Bereichs bleibt. Daher kann Citrix Hypervisor dazu führen, dass die VM zugewiesene Speichermenge angepasst wird, während die VM ausgeführt wird. Der extremste Fall ist, dass der Administrator die dynamische Min/Max auf den gleichen Wert setzt und Citrix Hypervisor dazu zwingt, sicherzustellen, dass diese Menge an Arbeitsspeicher der VM zugewiesen wird. Wenn neue VMs auf „vollen“ Servern gestartet werden müssen, wird der Arbeitsspeicher für ausgeführte VMs „gequetscht“, um neue zu starten. Der erforderliche zusätzliche Speicher wird erhalten, indem die vorhandenen laufenden VMs proportional innerhalb ihrer vordefinierten Dynamikbereiche quetscht werden.

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

  • Dynamischer Mindestspeicher: Eine niedrigere Speichergrenze, die Sie der VM zuweisen.

  • Dynamic Higher Limit: Eine obere Speichergrenze, die Sie der VM zuweisen.

Wenn der dynamische Mindestspeicher beispielsweise auf 512 MB festgelegt wurde und der dynamische Maximalspeicher auf 1.024 MB festgelegt wurde, erhält der VM einen Dynamic Memory Range (DMR) von 512 bis 1024 MB, innerhalb dessen er arbeitet. Citrix Hypervisor garantiert , dass jeder VM-Speicher innerhalb der angegebenen DMR bei Verwendung von DMC immer zugewiesen wird.

Das Konzept der statischen Reichweite

Viele von Citrix Hypervisor unterstützte Betriebssysteme verstehen den Begriff des dynamischen Hinzufügens oder Löschens von Arbeitsspeicher nicht vollständig. Daher muss Citrix Hypervisor die maximale Speichermenge deklarieren, die eine VM zum Zeitpunkt des Neustarts benötigt. Durch die Deklaration der maximalen Speichermenge kann das Gastbetriebssystem seine Seitentabellen und andere Speicherverwaltungsstrukturen entsprechend skalieren. Dies führt das Konzept eines statischen Speicherbereichs innerhalb von Citrix Hypervisor ein. Der statische Speicherbereich kann nicht angepasst werden, wenn die VM ausgeführt wird. Bei einem bestimmten Boot wird der Dynamikbereich so eingeschränkt, dass er immer innerhalb dieses statischen Bereichs enthalten ist. Das statische Minimum (die untere Grenze des statischen Bereichs) schützt den Administrator und ist auf die niedrigste Speichermenge festgelegt, die das Betriebssystem mit Citrix Hypervisor ausführen kann.

Hinweis:

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

Wenn Sie einen statischen Maximalpegel höher als ein dynamisches Maximum festlegen, können Sie einer VM in Zukunft mehr Speicher zuweisen, ohne die VM neu zu starten.

DMC-Verhalten

Automatische VM-Quetschung

  • Wenn DMC nicht aktiviert ist und die Hosts voll sind, schlagen neue VM-Starter mit Fehlern „außerhalb des Arbeitsspeichers“ fehl.

  • Wenn DMC aktiviert ist, selbst wenn Hosts voll sind, versucht Citrix Hypervisor, Speicher zurückzufordern, indem die Speicherzuweisung ausgeführter VMs innerhalb ihrer definierten dynamischen Bereiche 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, erhalten alle laufenden VMs ihre dynamische Maximalspeicherstufe

  • Wenn der Speicher des Hosts knapp ist, erhalten alle ausgeführten VMs ihre dynamische Mindestspeicherstufe.

Denken Sie beim Konfigurieren von DMC daran, dass die Zuweisung nur einer kleinen Menge Speicher zu einer VM negativ beeinflussen kann. Beispiel: Zuweisen zu wenig Speicher:

  • Die Verwendung von Dynamic Memory Control, um den physischen Speicher zu reduzieren, der einer VM zur Verfügung steht, kann dazu führen, dass er langsam neu gestartet wird. Wenn Sie einer VM zu wenig Speicher zuweisen, kann diese langsam gestartet werden.

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

Wie funktioniert DMC?

Mit DMC ist es möglich, einen virtuellen Gastcomputer in einem von zwei Modi zu betreiben:

  1. Zielmodus: Der Administrator gibt ein Speicherziel für den Gast an. Citrix Hypervisor passt die Speicherzuweisung des Gastes an das Ziel an. Die Angabe eines Ziels ist in virtuellen Serverumgebungen und in Situationen nützlich, in denen Sie genau wissen, wie viel Speicher ein Gast verwenden soll. Citrix Hypervisor passt die Speicherzuweisung des Gastes an das angegebene Ziel an.

  2. Dynamischer Bereichsmodus: Der Administrator gibt einen dynamischen Speicherbereich für den Gast an. Citrix Hypervisor wählt ein Ziel aus dem Bereich aus und passt die Speicherzuweisung des Gastes an das Ziel an. Das Angeben eines dynamischen Bereichs ist in virtuellen Desktopumgebungen und in allen Situationen nützlich, in denen Citrix Hypervisor den Hostspeicher dynamisch neu partitionieren soll, wenn sich die Anzahl der Gäste ändert oder der Druck des Hostspeichers ändert. Citrix Hypervisor 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 Citrix Hypervisor kümmert sich um den Rest.

Speicherbeschränkungen

Mit Citrix Hypervisor können Administratoren alle Speichersteuerungsvorgänge mit jedem Gastbetriebssystem verwenden. Citrix Hypervisor erzwingt jedoch die folgende Sortierbeschränkung für Speichereigenschaft für alle Gäste:

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

Citrix Hypervisor ermöglicht Administratoren, Gastspeichereigenschaften auf Werte zu ändern, die diese Einschränkung erfüllen, vorbehaltlich einer Überprüfung. Zusätzlich zu der 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. Citrix Hypervisor 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 für Gastbetriebssysteme.

Warnhinweis:

Bei der Konfiguration des Gastspeichers empfehlen wir, die maximale Menge an physischem Speicher, die von Ihrem Betriebssystem adressierbar ist, NICHT zu überschreiten. Wenn Sie ein Speichermaximum festlegen, das größer als das vom Betriebssystem unterstützte Limit ist, kann es zu Stabilitätsproblemen innerhalb Ihres Gastes kommen.

Das dynamische Minimum muss größer oder gleich einem Viertel des statischen Maximums für alle unterstützten Betriebssysteme sein. Die Untergrenze unterhalb des dynamischen Minimums kann auch zu Stabilitätsproblemen führen. Administratoren werden aufgefordert, die Größe ihrer VMs sorgfältig zu kalibrieren und sicherzustellen, dass ihre Arbeitsgruppe von Anwendungen auf dynamischem Minimum zuverlässig funktioniert.

xe CLI-Befehle

Anzeigen der statischen Speichereigenschaften einer VM

  1. Suchen Sie die uuid der erforderlichen VM:

    xe vm-list
    
  2. Notieren Sie sich 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 Maximalspeichereigenschaften für die VM mit der uuid beginnend 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 Arbeitsspeicher für diese VM 268.435.456 Byte (256 MB) beträgt.

Anzeigen der dynamischen Speichereigenschaften einer VM

Um die dynamischen Speichereigenschaften anzuzeigen, gehen Sie wie oben beschrieben vor, verwenden Sie jedoch den Befehlparam-name=memory-dynamic:

  1. Suchen Sie die uuid der erforderlichen VM:

    xe vm-list
    
  2. Notieren Sie sich 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 ab 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 Arbeitsspeicher für diese VM 134.217.728 Byte (128 MB) beträgt.

Speichereigenschaften aktualisieren

Warnhinweis:

Verwenden Sie die korrekte Reihenfolge, wenn Sie die statischen/dynamischen Minimum/Maximum-Parameter festlegen. 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 jeder Situation nützlich, in der Sie genau wissen, wie viel Speicher ein Gast verwenden soll. Citrix Hypervisor passt die Speicherzuweisung des Gastes an das angegebene Ziel an. Zum 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:

  • Um einer virtuellen Maschine eine bestimmte Menge Speicher zuzuweisen, die sich nicht ändert, legen Sie Dynamisches Maximum und Dynamisches 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

Warnhinweis:

Ändern Sie die statische Mindeststufe nicht, da sie auf der unterstützten Ebene pro Betriebssystem 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. Notieren Sie sich 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