Auf der Registerkarte Leistung des vSphere Web Client werden verschiedene Metriken angezeigt, die zur Analyse der Arbeitsspeichernutzung verwendet werden können.

Einige dieser Arbeitsspeichermetriken messen den physischen Gastarbeitsspeicher, andere den Maschinenarbeitsspeicher. Beispielsweise sind zwei Typen der Arbeitsspeichernutzung, die Sie mithilfe von Leistungsmetriken untersuchen können, der physische Gastarbeitsspeicher und der Maschinenarbeitsspeicher. Der physische Gastarbeitsspeicher wird mithilfe der Metrik „Zugeteilter Arbeitsspeicher“ (für eine virtuelle Maschine) bzw. „Gemeinsamer Arbeitsspeicher“ (für einen Host) gemessen. Verwenden Sie zum Messen des Maschinenarbeitsspeichers jedoch die Metrik „Belegter Arbeitsspeicher“ (für eine virtuelle Maschine) bzw. „Gemeinsamer Arbeitsspeicher – allgemein“ (für einen Host). Um zu verstehen, was diese Metriken messen und wie sie interpretiert werden, ist es wichtig, den konzeptuellen Unterschied zwischen diesen Typen der Arbeitsspeichernutzung zu kennen.

Der VMkernel ordnet den physischen Gastarbeitsspeicher dem Maschinenarbeitsspeicher zu, die Zuordnung erfolgt jedoch nicht immer eins zu eins. Möglicherweise werden mehrere Bereiche des physischen Gastarbeitsspeichers demselben Bereich des Maschinenarbeitsspeichers zugeordnet (im Fall der gemeinsamen Arbeitsspeichernutzung) oder bestimmte Bereiche des physischen Gastarbeitsspeichers werden dem Maschinenarbeitsspeicher nicht zugeordnet (wenn der VMkernel eine Auslagerung oder ein Ballooning des physischen Gastarbeitsspeichers durchführt). In diesen Situationen unterscheiden sich die Berechnungen der Nutzung des physischen Gastarbeitsspeichers und der Nutzung des Maschinenarbeitsspeichers für eine einzelne virtuelle Maschine oder einen Host.

Betrachten Sie das Beispiel in der folgenden Abbildung, die zwei virtuellen Maschinen auf einem Host zeigt. Jeder Block steht für 4 KB an Arbeitsspeicher und jede Farbe bzw. jeder Buchstabe für einen anderen Datensatz auf einem Block.

Abbildung 1. Beispiel für die Arbeitsspeichernutzung


Diese Abbildung veranschaulicht anhand eines Beispiels die Arbeitsspeichernutzung zweier virtueller Maschinen.

Die Leistungsmetriken für die virtuellen Maschinen können wie folgt ermittelt werden:

  • Um den zugeteilten Arbeitsspeicher (die Menge an physischem Gastarbeitsspeicher, die dem Maschinenarbeitsspeicher zugeordnet ist) für die virtuelle Maschine 1 zu ermitteln, zählen Sie die Blöcke im physischen Gastarbeitsspeicher der virtuellen Maschine 1, von denen Pfeile zum Maschinenarbeitsspeicher ausgehen, und multiplizieren Sie diesen Wert mit 4 KB. Da fünf Blöcke mit Pfeilen vorhanden sind, würde der Wert für die Metrik „Zugeteilter Arbeitsspeicher“ 20 KB betragen.

  • Der belegte Arbeitsspeicher ist die Menge an Maschinenarbeitsspeicher, die der virtuellen Maschine zugeteilt ist, wobei Einsparungen durch die gemeinsame Arbeitsspeichernutzung berücksichtigt werden. Zählen Sie zuerst die Blöcke im Maschinenarbeitsspeicher, zu denen Pfeile vom physischen Gastarbeitsspeicher der virtuellen Maschine 1 vorhanden sind. Es gibt drei Blöcke, auf die dies zutrifft, von denen einer jedoch gemeinsam mit der virtuellen Maschine 2 genutzt wird. Zählen Sie also zwei ganze Blöcke und die Hälfte des dritten und multiplizieren Sie dies mit 4 KB, woraus sich ein Gesamtwert von 10 KB für die Metrik „Belegter Arbeitsspeicher“ ergibt.

Der wichtige Unterschied zwischen diesen beiden Metriken besteht darin, dass für den zugeteilten Arbeitsspeicher die Anzahl an Blöcken mit Pfeilen auf der Ebene des physischen Gastarbeitsspeichers und für den belegten Arbeitsspeicher die Anzahl an Blöcken mit Pfeilen auf der Ebene des Maschinenarbeitsspeichers gezählt werden. Die Anzahl an Blöcken ist auf den beiden Ebenen aufgrund der gemeinsamen Arbeitsspeichernutzung verschieden, daher weichen die Werte für „Zugeteilter Arbeitsspeicher“ und „Belegter Arbeitsspeicher“ voneinander ab. Dies stellt kein Problem dar und es zeigt, dass durch die gemeinsame Nutzung oder andere Rückgewinnungsmethoden Arbeitsspeicher eingespart wird.

Zu einem ähnlichen Ergebnis gelangt man beim Ermitteln der Werte für die Metriken „Gemeinsamer Arbeitsspeicher“ und „Gemeinsamer Arbeitsspeicher – allgemein“ für den Host.

  • Der Wert für „Gemeinsamer Arbeitsspeicher“ für den Host ist die Summe der Werte für „Gemeinsamer Arbeitsspeicher“ der einzelnen virtuellen Maschinen. Berechnen Sie den Wert für den Host, indem Sie den physischen Gastarbeitsspeicher der einzelnen virtuellen Maschinen betrachten und die Anzahl an Blöcken zählen, von denen Pfeile zu Maschinenarbeitsspeicherblöcken ausgehen, auf die wiederum mehrere Pfeile weisen. In dem Beispiel gibt es sechs Blöcke, auf die dies zutrifft, also beträgt der Wert für „Gemeinsamer Arbeitsspeicher“ für den Host 24 KB.

  • Der Wert für die Metrik „Gemeinsamer Arbeitsspeicher – allgemein“ ist die Menge an Maschinenarbeitsspeicher, die von virtuellen Maschinen gemeinsam genutzt wird. Um diesen Wert zu ermitteln, betrachten Sie den Maschinenarbeitsspeicher und zählen Sie die Anzahl an Blöcken, auf die mehrere Pfeile weisen. Es sind drei Blöcke vorhanden, auf die dies zutrifft, daher beträgt der Wert für „Gemeinsamer Arbeitsspeicher – allgemein“ 12 KB.

Bei der Metrik „Gemeinsamer Arbeitsspeicher“ geht es um den physischen Gastarbeitsspeicher und den Ausgangspunkt der Pfeile. Bei „Gemeinsamer Arbeitsspeicher – allgemein“ werden jedoch der Maschinenarbeitsspeicher und das Ziel der Pfeile betrachtet.

Die Arbeitsspeichermetriken, die den physischen Gastarbeitsspeicher und den Maschinenarbeitsspeicher messen, mögen widersprüchlich erscheinen. Tatsächlich messen sie unterschiedliche Aspekte der Arbeitsspeichernutzung einer virtuellen Maschine. Wenn Sie die Unterschiede zwischen diesen Metriken verstehen, können Sie sie besser zur Diagnose von Leistungsproblemen einsetzen.