Wie wird der Speicher im ESXi-Server zugewiesen?

Wie wird der Speicher im ESXi-Server zugewiesen?

Wir haben einen ESXi 4.1 Server mit 48 GB RAM.

Für jede VM weisen wir 4 GB Speicher zu. Da der Server 13 virtuelle Maschinen haben wird, hält mein Manager das für falsch.

Ich werde ihnen erklären, dass ESXi den Speicher tatsächlich selbst verwaltet, aber sie haben mich gefragt, wie viel Speicher ich für den ESXi-Server selbst zugewiesen habe.

Ich habe keinen zugewiesen (ich habe noch nicht einmal von einer Option zur Speicherzuweisung für den ESXi-Server selbst gehört).

Wie wird der Arbeitsspeicher für den ESXi-Server zugewiesen? Wie kann RAM problemlos zwischen virtuellen Maschinen übermäßig zugewiesen bzw. verteilt werden?

Antwort1

Es geht hier um viel mehr als nur ESXi,

  1. Jede VM verbraucht bis zu 4 GB + "Overhead", der dokumentiert istHier. Dies hängt von den vCPUs und dem zugewiesenen Speicher ab. Jede VM benötigt mindestens 4261.98 MBs(4096 + 165,98)
  2. ESXi's eigener Speicher-Overhead, dieser ist hardwareabhängig. Die einfachste Möglichkeit ist, sich dieSystemSpeichernutzung im vSphere-Client. Soweit ich mich erinnere, liegt sie bei etwa 1,3 GB, aber wie gesagt ist dassehrabhängig von der Hardware.

Speicherzuweisung und Überbelegung erklärt

Beachten Sie, dass der Hypervisorwird nicht den gesamten Speicher im Voraus zuweisen, es hängt von der Nutzung der VM ab. Es lohnt sich jedoch zu verstehen, was passiert, wenn die VMs versuchen, den gesamten ihnen zugewiesenen Speicher zuzuweisen und zu verwenden.

Der Höchstwert, den Ihre VM + Host zu verwenden versuchen, beträgt ungefähr:55 GB Kilometerstand kann variieren

  • 1,3 GB von ESXi verwendet
  • 4261,98 MB * 13 von den VMs verwendet

Es gibt noch einen weiteren Aspekt, der berücksichtigt werden muss: die Speicherschwellenwerte. Standardmäßig strebt VMware 6 % freien Speicher an (hoher Speicherschwellenwert).55 GBdes verwendeten Speichers muss reduziert werden auf~45 GB

Das bedeutet, dass der Host über ungefähr 10.500 MB Speicher verfügt, den er von irgendwoher zurückfordern muss, falls die VMs den ihnen zugewiesenen Speicher verwenden. ESX unternimmt drei Dinge, um diese zusätzlichen 10,5 GB zu finden.

Methoden zur Speicherrückgewinnung

  1. Transparentes Teilen von Seiten
  2. Speicher-Ballooning
  3. Hypervisor-Austausch

Sie sollten lesen und verstehenGrundlegendes zur Speicherressourcenverwaltung im VMware® ESX™ Server.

Abhängig von einer Vielzahl von Faktoren kann/wird auf einem überlasteten Host eine Kombination aller drei auftreten. Sie müssen Ihre Umgebung testen und diese Kennzahlen überwachen, um die Auswirkungen einer Überlastung zu verstehen.

Einige grobe Regeln, die wissenswert sind (alle im obigen Dokument und anderen Quellen).

  1. Transparente Seitenfreigabepassiert nicht bei VMs, die 2/4 MB-Seiten verwenden. Da Sie Ihren Windows-VMs 4096 MB zugewiesen haben, verwenden sie standardmäßig die 2/4 MB-Seiten (PAE-abhängig). Nur bei Speicherdruck zerlegt VMware die großen Seiten in 4 KB-Seiten, die gemeinsam genutzt werden können. TPS basiert auf der Verwendung von CPU-Leerlaufzyklen und dem Scannen von Speicherseiten mit einer bestimmten Rate. Es gibt den Speicher relativ langsam zurück (denken Sie an eine Stunde statt an Minuten). Ein Boot-Sturm bedeutet also, dass TPS Ihnen nicht hilft. Von den dreien hat dies die geringsten Auswirkungen auf die Leistung. Mehr aus dem Dokument:

Bei 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 statt 4 KB für normale Seiten), um eine bessere Leistung aufgrund von weniger TLB-Fehlern zu erzielen. 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 einen Bit-für-Bit-Vergleich für eine 2 MB große Seite viel größer ist als für eine 4 KB große Seite. ESX generiert jedoch weiterhin Hashes für die 4 KB großen Seiten innerhalb jeder großen Seite. Da ESX keine großen Seiten auslagert, wird die große Seite während des Host-Auslagerns in kleine Seiten aufgeteilt, sodass diese vorab generierten Hashes zum Freigeben der kleinen Seiten verwendet werden können, bevor sie ausgelagert werden. Kurz gesagt, wir können bei hardwaregestützten Speichervirtualisierungssystemen möglicherweise keine Seitenfreigabe beobachten, bis der Host-Speicher überlastet ist.

  1. Ballonfahrentritt als nächstes ein (Schwellenwerte sind konfigurierbar, standardmäßig ist dies der Fall, wenn der Host weniger als 6% Speicher frei hat (zwischen hoch und Software)). Stellen Sie sicher, dass Sie den Treiber installieren, und achten Sie auf Java undgelang esAnwendungen im Allgemeinen. Das Betriebssystem hat keinen Einblick in das, was der Garbage Collector als Nächstes tun wird, und er wird am Ende Seiten treffen, die auf die Festplatte ausgelagert wurden. Es ist nicht unüblich, dass Server, auf denen ausschließlich Java-Anwendungen laufen, den Swap-Vorgang vollständig deaktivieren, um sicherzustellen, dass dies nicht passiert. Schauen Sie sich Seite 17 von vSphere Memory Management, SPECjbb an.

  2. Hypervisor-Austausch, von den drei Methoden ist die einzige, dieGarantien"Speicher" steht dem Hypervisor in einer festgelegten Zeit zur Verfügung. Dies wird verwendet, wenn 1 und 2 ihm nicht genügend Speicher geben, um unter demhartSchwellenwert (Standard: 2 % freier Speicher). Wenn Sie die Leistungsmetriken durchlesen (machen Sie Ihre eigenen), werden Sie feststellen, dass dies die schlechteste Leistung der drei ist. Versuchen Sie, dies um jeden Preis zu vermeiden, da die Leistungseinbußen bei fast allen Anwendungen sehr spürbar sind.zweistelliger Prozentsatz

  3. Es gibt noch einen weiteren Zustand, den Sie kennen solltenniedrig(standardmäßig 1%). Laut Handbuch kann dies die Leistung drastisch reduzieren,

In seltenen Fällen, in denen der freie Speicher des Hosts unter den unteren Schwellenwert fällt, gewinnt der Hypervisor weiterhin Speicher durch Auslagerung und Speicherkomprimierung zurück und blockiert zusätzlich die Ausführung aller virtuellen Maschinen, die mehr Speicher verbrauchen als ihnen als Zielspeicher zugewiesen ist.

Zusammenfassung

Der wichtigste Punkt ist, dass sich anhand der Whitepapers nicht vorhersagen lässt, wie sich Ihre Umgebung verhalten wird.

  1. Wie viel kann TPS Ihnen bieten? (Hängt davon ab, wie ähnlich sich Ihre VMs hinsichtlich Betriebssystem, Service Pack und laufenden Anwendungen sind)
  2. Wie schnell reservieren Ihre VMs Ihren Speicher? Je schneller sie das tun, desto wahrscheinlicher ist es, dass Sie zum nächsten Schwellenwert springen, bevor das weniger wirkungsvolle Speicherrückgewinnungsschema Sie erfolgreich an Ihrem aktuellen Schwellenwert hält.
  3. Je nach Anwendung hat jedes Speicherrückgewinnungsschema sehr unterschiedliche Auswirkungen.

Testen Sie Ihre durchschnittlichen Szenarien, Ihr 95-Prozent-Perzentil-Szenario und schließlich Ihr Maximum, um zu verstehen, wie Ihre Umgebung ausgeführt wird.


Bearbeiten 1

Es ist erwähnenswert, dass es mit vSphere 4 (oder 4.1, ich erinnere mich nicht) jetzt möglich ist, den Hypervisor-Swap auf der lokalen Festplatte zu platzieren, aber immer nochvBewegungdie VM. Wenn Sie gemeinsam genutzten Speicher verwenden, empfehle ich dringend, die Hypervisor-Auslagerungsdatei standardmäßig auf die lokale Festplatte zu verschieben. Dadurch wird sichergestellt, dass ein starker Speicherdruck auf einem Host nicht alle anderen vSphere-Hosts/VMs auf demselben gemeinsam genutzten Speicher beeinträchtigt.

Bearbeiten 2

Basierend auf den Kommentaren ist die Tatsache, dass ESX den Speicher nicht im Voraus zuweist, fett hervorgehoben ...

Bearbeiten 3

Speicherschwellenwerte werden etwas genauer erläutert.

Antwort2

VMware (und andere Virtualisierungstechnologien)AktieRessourcen (Speicher, Prozessorzeit, E/A verschiedener Art) zwischen VMs gemäß verschiedenen Algorithmen.

Es ist möglich,ÜberlastungRessourcen, da nicht alle VMs ständig alle benötigten Verarbeitungs-, Speicher- oder E/A-Leistungsmerkmale nutzen. VMware-Handbuch zur Ressourcenverwaltungist wahrscheinlich der beste Ort, um sich über die Möglichkeiten von ESXi zu informieren.

Sie können die Wirkung der Algorithmen auch steuern, indem Sie verschiedene VMs für verschiedene Ressourcen gewichten. Sie können beispielsweise einer Anwendungsserver-VM eine höhere Gewichtung für den Prozessor zuweisen als einer Dateiserver-VM. Die Standardeinstellungen werden die meisten Anforderungen jedoch sehr gut erfüllen. In einigen Fällen reicht es aus, hier einige Konfigurationen vorzunehmen, um Manager zu besänftigen, die es nicht ganz verstehen. Seien Sie jedoch vorsichtig und lesen Sie die Dokumentation für Ihre VMware-Version, damit Sie verstehen, was Sie tun. Wenn Ihr Manager keine weitere Besänftigung benötigt, verwenden Sie einfach die Standardeinstellungen.

Beachten Sie, dass eine Überbelegung nicht unbedingt immer eine gute Idee ist, insbesondere wenn Sie auf einem einzelnen Server virtualisiert haben. Sie sollten die Nutzung der Ressourcen in Ihrem ESXi-Bestand überwachen und bei Bedarf zusätzliche Hosts/Ressourcen hinzufügen, wenn Sie häufig alle eine oder mehrere Ressourcen verbrauchen.

Antwort3

Überlassen Sie dies Ihrer VMWare ESXi-Installation. Sie können RAM-Ressourcen auf VMWare-Systemen überbeanspruchen, daSpeicher-Ballooning, Komprimierung und Deduplizierungstechniken.

Wenn die virtuellen Maschinen ein ähnliches Betriebssystem verwenden, lassen sich einige Einsparungen erzielen. Stellen Sie sicher, dass Sie die VMWare-Tools in den Gast-VMs aktivieren, um diese Funktionen voll nutzen zu können.

verwandte Informationen