Hier geht es um viel mehr als nur um ESXi.
- Jede VM verbraucht bis zu 4 GB + "Overhead", was hier dokumentiert ist . Dies hängt von den zugewiesenen vCPUs und dem zugewiesenen Speicher ab. Mindestens 4261,98 MB für jede VM (4096 + 165,98)
- ESXis eigener Speicherbedarf ist hardwareabhängig. Die einfachste Möglichkeit ist , am schauen System - Speichernutzung im vSphere - Client. Aus dem Speicher erinnere ich mich, dass es um die 1,3 GB Marke ist, aber wie gesagt, das ist sehr abhängig von der Hardware.
Speicherzuweisung und Überbelegung erklärt
Beachten Sie, dass der Hypervisor nicht den gesamten Arbeitsspeicher im Voraus zuweist , sondern von der Nutzung der VM abhängig ist. Es lohnt sich jedoch zu verstehen, was passieren wird, wenn die VMs versuchen, den gesamten ihnen zugewiesenen Speicher zuzuweisen und zu nutzen.
Das Maximum, das Ihr VM + -Host zu verwenden versucht, liegt bei ungefähr 55 GB. Die Laufleistung kann variieren
- Von ESXi verwendete 1,3 GB
- 4261,98 MB * 13, die von den VMs verwendet werden
Es gibt noch einen weiteren Aspekt, der berücksichtigt werden muss, nämlich Speichergrenzwerte. Standardmäßig strebt VMware eine freie Kapazität von 6% an (hohe Speicherschwelle). Daher müssen die 55 GB des verwendeten Arbeitsspeichers auf ~ 45 GB reduziert werden
Das bedeutet, dass der Host ungefähr 10.500 MB Speicherplatz hat, den er zurückfordern muss, wenn die VMs den zugewiesenen Speicher verwenden. Es gibt drei Möglichkeiten, mit denen ESX diese zusätzlichen 10,5 GB ermittelt.
Memory Reclamation Methods
- Transparente gemeinsame Nutzung von Seiten
- Memory Ballooning
- Hypervisor-Tausch
Sie sollten das Grundlegende zur Speicherressourcenverwaltung in VMware® ESX ™ Server lesen und verstehen .
Abhängig von einer Vielzahl von Faktoren kann / wird eine Kombination aller drei Faktoren auf einem überbeanspruchten Host auftreten. Sie müssen Ihre Umgebung testen und diese Metriken überwachen, um die Auswirkungen eines zu hohen Commits zu verstehen.
Einige grobe Regeln, die es zu beachten gilt (alle in der obigen Veröffentlichung und in anderen Quellen).
- Für VMs, die Seiten mit 2/4 MB verwenden , findet keine transparente gemeinsame Nutzung von Seiten statt. Da Sie Ihren Windows-VMs 4096 MB zugewiesen haben, werden standardmäßig 2/4 MB Seiten verwendet (PAE-abhängig). Nur unter Speicherdruck kann VMware die großen Seiten auf 4 KB Seiten aufteilen, die gemeinsam genutzt werden können. TPS ist darauf angewiesen, inaktive CPU-Zyklen zu verwenden und Speicherseiten mit einer bestimmten Rate zu scannen. Es gibt den Speicher relativ langsam zurück (man denke eher an eine Stunde als an Minuten). Ein Bootsturm bedeutet also, dass TPS Ihnen nicht weiterhilft. Von den dreien hat dies die geringste Auswirkung auf die Leistung. Mehr aus dem Dokument,
Bei Systemen mit hardwaregestützter Speichervirtualisierung (z. B. Intel EPT Hardware Assist und AMD RVI Hardware Assist [6]) sichert ESX automatisch physische Gastseiten mit großen physischen Hostseiten (2 MB zusammenhängender Speicherbereich anstelle von 4 KB für reguläre Seiten) für Bessere Leistung durch weniger TLB-Ausfälle. In solchen Systemen wird ESX diese großen Seiten nicht freigeben, weil: 1) die Wahrscheinlichkeit, zwei große Seiten mit identischem Inhalt zu finden, gering ist und 2) der Aufwand für die Durchführung eines bitweisen Vergleichs für eine 2-MB-Seite viel größer ist als für eine 4KB Seite. ESX generiert jedoch weiterhin Hashes für die 4-KB-Seiten auf jeder großen Seite. Da ESX beim Host-Austausch keine großen Seiten auslagert, Die große Seite wird in kleine Seiten aufgeteilt, sodass diese vorgenerierten Hashes verwendet werden können, um die kleinen Seiten vor dem Auslagern freizugeben. Kurz gesagt, wir beobachten möglicherweise keine gemeinsame Nutzung von Seiten für hardwaregestützte Speichervirtualisierungssysteme, bis der Hostspeicher überlastet ist.
Die Ballonfahrt beginnt als nächstes (Schwellenwerte sind konfigurierbar. Standardmäßig ist dies der Fall, wenn der Host weniger als 6% freien Speicher hat (zwischen Hoch und Software). Stellen Sie sicher, dass Sie den Treiber installieren und generell auf Java und verwaltete Anwendungen achten . Das Betriebssystem hat keine Ahnung, was der Garbage Collector als Nächstes tun wird, und es trifft auf Seiten, die auf die Festplatte ausgelagert wurden. Es ist nicht ungewöhnlich, dass Server, auf denen Java-Anwendungen ausschließlich ausgeführt werden, Swap vollständig deaktivieren, um zu gewährleisten, dass dies nicht geschieht. Weitere Informationen finden Sie unter Seite 17 von vSphere Memory Management, SPECjbb
Ein Hypervisor-Austausch von den drei Methoden ist die einzige, die gewährleistet, dass dem Hypervisor in einer festgelegten Zeit "Speicher" zur Verfügung steht. Dies wird verwendet, wenn 1 & 2 nicht ihm genügend Speicher gibt unter der bleibt hart Schwelle (Standard von 2% freien Speicher). Wenn Sie die Leistungsmetriken durchlesen (machen Sie Ihre eigenen), werden Sie feststellen, dass dies die schlechteste Leistung der drei ist. Vermeiden Sie dies unbedingt, da die Auswirkungen auf die Leistung bei fast allen Anwendungen im zweistelligen Prozentbereich spürbar sind
Es gibt noch einen Status, der als niedrig eingestuft werden muss (standardmäßig 1%). Aus dem Handbuch kann dies Ihre Leistung drastisch verringern,
In einem seltenen Fall, in dem der freie Hostspeicher unter den unteren Schwellenwert fällt, fordert der Hypervisor weiterhin Speicher durch Auslagerung und Speicherkomprimierung an und blockiert zusätzlich die Ausführung aller virtuellen Maschinen, die mehr Speicher belegen als ihre Zielspeicherzuordnungen.
Zusammenfassung
Der entscheidende Punkt, der betont werden muss, ist, dass es unmöglich ist, anhand der Whitepapers vorherzusagen, wie sich Ihre Umgebung verhält.
- Wie viel kann TPS Ihnen geben? (Abhängig davon, wie ähnlich Ihre VMs dem Betriebssystem, dem Service Pack und den ausgeführten Anwendungen sind.)
- Wie schnell ordnen Ihre VMs Ihren Speicher zu? Je schneller sie dies tun, desto wahrscheinlicher ist es, dass Sie zum nächsten Schwellenwert springen, bevor das weniger effektive Speicherwiederherstellungsschema es schafft, Sie auf Ihrem aktuellen Schwellenwert zu halten.
- Je nach Anwendung hat jedes Speicherwiederherstellungsschema sehr unterschiedliche Auswirkungen.
Testen Sie Ihre durchschnittlichen Szenarien, Sie sind ein 95% -Perzentilszenario und schließlich Ihr Maximum, um zu verstehen, wie Ihre Umgebung ausgeführt wird.
Bearbeiten 1
Erwähnenswert ist, dass es mit vSphere 4 (oder 4.1, das nicht zurückgerufen werden kann) jetzt möglich ist, den Hypervisor-Swap auf der lokalen Festplatte zu platzieren, die VM jedoch weiterhin zu vmotionieren . Wenn Sie gemeinsam genutzten Speicher verwenden, empfehle ich dringend, die Hypervisor-Auslagerungsdatei standardmäßig auf die lokale Festplatte zu verschieben. Auf diese Weise wird sichergestellt, dass sich ein Host, der einem hohen Speicherdruck ausgesetzt ist, nicht auf alle anderen vSphere-Hosts / VMs auf demselben gemeinsam genutzten Speicher auswirkt.
Bearbeiten 2
Aufgrund von Kommentaren wurde die Tatsache, dass ESX den Speicher nicht im Voraus zuweist, fett hervorgehoben ...
Bearbeiten 3
Erläuterte ein wenig mehr über Gedächtnisschwellen.