{"id":35292,"date":"2019-10-31T22:03:28","date_gmt":"2019-10-31T19:03:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory\/"},"modified":"2019-10-31T22:03:28","modified_gmt":"2019-10-31T19:03:28","slug":"analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","title":{"rendered":"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/be3cfe4d8ff6491b5e32a247b996ded3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dataline\/blog\/452884\/\">Teil 1. \u00dcber CPU<\/a><\/noindex><\/p>\n<p>In diesem Artikel sprechen wir \u00fcber die Leistungsindikatoren des Arbeitsspeichers (RAM) in vSphere.<br \/>\nAnscheinend ist es mit dem Speicher klarer als mit dem Prozessor: Wenn es bei VMs Leistungsprobleme gibt, sind sie schwer zu \u00fcbersehen. Wenn sie jedoch auftreten, ist es viel schwieriger, sie zu beheben. Aber alles der Reihe nach. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Ein wenig Theorie<\/h3>\n<p>\nDer Arbeitsspeicher virtueller Maschinen wird aus dem Speicher der Server entnommen, auf denen die VMs laufen. Das ist recht offensichtlich :). Wenn der Speicher des Servers nicht ausreicht, um allen W\u00fcnschen gerecht zu werden, beginnt ESXi, Techniken zur Optimierung des Arbeitsspeicherverbrauchs (memory reclamation techniques) anzuwenden. Andernfalls w\u00fcrden die Betriebssysteme der VMs mit Fehlern beim Zugriff auf den RAM abst\u00fcrzen. <\/p>\n<p>Welche Techniken angewendet werden, entscheidet ESXi je nach Auslastung des Arbeitsspeichers:<\/p>\n<p><b>Speicherstatus<\/b><\/p>\n<p><b>Grenze<\/b><\/p>\n<p><b>Aktionen<\/b><\/p>\n<p>Hoch<\/p>\n<p>400% von minFree<\/p>\n<p>Nachdem die obere Grenze erreicht ist, werden gro\u00dfe Speicherseiten in kleine aufgeteilt (TPS arbeitet im Standardmodus).<\/p>\n<p>Clear<\/p>\n<p>100% von minFree<\/p>\n<p>Gro\u00dfe Speicherseiten werden in kleine aufgeteilt, TPS arbeitet erzwungen.<\/p>\n<p>Soft<\/p>\n<p>64% von minFree<\/p>\n<p>TPS + Balloon<\/p>\n<p>Hard<\/p>\n<p>32% von minFree<\/p>\n<p>TPS + Compress + Swap<\/p>\n<p>Niedrig<\/p>\n<p>16% von minFree<\/p>\n<p>Compress + Swap + Block<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2015\/03\/02\/what-happens-at-which-vsphere-memory-state\/\">Quelle<\/a><\/noindex> <\/p>\n<p>minFree ist der Arbeitsspeicher, der f\u00fcr den Betrieb des Hypervisors erforderlich ist. <\/p>\n<p>Bis einschlie\u00dflich ESXi 4.1 war minFree standardm\u00e4\u00dfig fix \u2014 6% des Arbeitsspeichers des Servers (der Prozentsatz konnte \u00fcber die Option Mem.MinFreePct in ESXi ge\u00e4ndert werden). In sp\u00e4teren Versionen wurde minFree aufgrund des Anstiegs der Speicherkapazit\u00e4ten auf den Servern nicht mehr als fester Prozentsatz, sondern basierend auf dem Gesamtspeicher des Hosts berechnet. <\/p>\n<p>Der (vorausgesetzte) Wert f\u00fcr minFree wird wie folgt berechnet:<\/p>\n<p><b>Prozentsatz des Speichers, der f\u00fcr minFree reserviert ist<\/b><\/p>\n<p><b>Speicherbereich<\/b><\/p>\n<p>6%<\/p>\n<p>0-4 GB<\/p>\n<p>4%<\/p>\n<p>4-12 GB<\/p>\n<p>2%<\/p>\n<p>12-28 GB<\/p>\n<p>1%<\/p>\n<p>Verbleibender Speicher<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2013\/06\/14\/how-does-mem-minfreepct-work-with-vsphere-5-0-and-up\/\">Quelle<\/a><\/noindex><\/p>\n<p>Zum Beispiel hat ein Server mit 128 GB RAM den folgenden Wert f\u00fcr MinFree:<br \/>\nMinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 MB = 1,88 GB <br \/>\nDer tats\u00e4chliche Wert kann um einige hundert MB variieren, dies h\u00e4ngt vom Server und dem Arbeitsspeicher ab.<\/p>\n<p><b>Prozentsatz des Speichers, der f\u00fcr minFree reserviert ist<\/b><\/p>\n<p><b>Speicherbereich<\/b><\/p>\n<p><b>Wert f\u00fcr 128 GB<\/b><\/p>\n<p>6%<\/p>\n<p>0-4 GB<\/p>\n<p>245,76 MB<\/p>\n<p>4%<\/p>\n<p>4-12 GB<\/p>\n<p>327,68 MB<\/p>\n<p>2%<\/p>\n<p>12-28 GB<\/p>\n<p>327,68 MB<\/p>\n<p>1%<\/p>\n<p>Verbleibender Speicher (100 GB)<\/p>\n<p>1024 MB<\/p>\n<p>\nF\u00fcr produktive St\u00e4nde wird normalerweise nur der Zustand \"High\" als akzeptabel angesehen. F\u00fcr Test- und Entwicklungsst\u00e4nde k\u00f6nnen die Zust\u00e4nde \"Clear\" \/ \"Soft\" akzeptabel sein. Wenn die verf\u00fcgbare Speicherkapazit\u00e4t auf dem Host unter 64 % MinFree liegt, treten bei den darauf laufenden VMs mit Sicherheit Performance-Probleme auf.<\/p>\n<p>F\u00fcr jeden Zustand kommen bestimmte Techniken zur Speicherfreigabe zum Einsatz, beginnend mit TPS, das praktisch keinen Einfluss auf die VM-Performance hat, bis hin zum Swapping. Ich werde n\u00e4her darauf eingehen. <\/p>\n<p><b>Transparent Page Sharing (TPS).<\/b> TPS ist, grob gesagt, die Deduplizierung von Seiten des Arbeitsspeichers virtueller Maschinen auf dem Server.<\/p>\n<p>ESXi sucht nach identischen Seiten im Arbeitsspeicher der virtuellen Maschinen, indem es die Hash-Summe der Seiten berechnet und vergleicht, und entfernt doppelte Seiten, indem es sie durch Verweise auf dieselbe Seite im physischen Speicher des Servers ersetzt. Dadurch verringert sich der physische Speicherbedarf, und man kann eine gewisse \u00dcberbuchung des Speichers nahezu ohne Leistungseinbu\u00dfen erreichen.<\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/c36972169fea245fd1298b03ebf471d2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vladan.fr\/vmware-transparent-page-sharing-tps-explained\/\">Quelle<\/a><\/noindex><\/p>\n<p>Dieser Mechanismus funktioniert nur f\u00fcr Seiten mit einer Gr\u00f6\u00dfe von 4 KB (kleine Seiten). Seiten mit einer Gr\u00f6\u00dfe von 2 MB (gro\u00dfe Seiten) versucht der Hypervisor gar nicht zu deduplizieren, da die Wahrscheinlichkeit, identische Seiten dieser Gr\u00f6\u00dfe zu finden, gering ist.<\/p>\n<p>Standardm\u00e4\u00dfig weist ESXi Speicher gro\u00dfen Seiten zu. Die Aufteilung gro\u00dfer Seiten in kleine Seiten beginnt, wenn der Zustand \"High\" erreicht ist und erfolgt zwangsweise, wenn der Zustand \"Clear\" erreicht wird (siehe Tabelle der Hypervisor-Zust\u00e4nde).<\/p>\n<p>Wenn Sie jedoch m\u00f6chten, dass TPS arbeitet, ohne auf die F\u00fcllung des Arbeitsspeichers des Hosts zu warten, m\u00fcssen Sie in den erweiterten Optionen von ESXi den Wert <i>\u201eMem.AllocGuestLargePage\u201c<\/i> auf 0 (standardm\u00e4\u00dfig 1) setzen. Dann wird die Zuweisung gro\u00dfer Seiten f\u00fcr virtuelle Maschinen deaktiviert.<\/p>\n<p>Seit Dezember 2014 ist TPS standardm\u00e4\u00dfig zwischen VMs in allen Versionen von ESXi deaktiviert, da eine Schwachstelle gefunden wurde, die theoretisch den Zugriff von einer VM auf den Arbeitsspeicher einer anderen VM erm\u00f6glicht. Details dazu finden Sie hier. Informationen \u00fcber die praktische Umsetzung dieser TPS-Schwachstelle sind mir nicht begegnet.<\/p>\n<p>Die TPS-Politik wird \u00fcber die erweiterte Option <i>\u201eMem.ShareForceSalting\u201c<\/i> auf ESXi gesteuert:<br \/>\n0 \u2014 Inter-VM TPS. TPS funktioniert f\u00fcr Seiten verschiedener VMs;<br \/>\n1 \u2014 TPS f\u00fcr VMs mit identischem Wert von \u201esched.mem.pshare.salt\u201c in der VMX;<br \/>\n2 (Standard) \u2014 Intra-VM TPS. TPS funktioniert f\u00fcr Seiten innerhalb einer VM.<\/p>\n<p>Es macht auf jeden Fall Sinn, gro\u00dfe Seiten auszuschalten und Inter-VM TPS auf Testst\u00e4nden zu aktivieren. Dies kann auch f\u00fcr St\u00e4nde mit einer gro\u00dfen Anzahl \u00e4hnlicher VMs verwendet werden. Zum Beispiel kann bei VDI-St\u00e4nden der physische Speicherverbrauch um mehrere Prozent gesenkt werden. <\/p>\n<p><b>Memory Ballooning.<\/b> Ballooning ist bereits keine so harmlose und transparente Technik f\u00fcr das Betriebssystem der VM wie TPS. Aber bei richtiger Anwendung kann man mit Ballooning auskommen und sogar arbeiten.<\/p>\n<p>Zusammen mit VMware Tools wird in der VM ein spezieller Treiber installiert, der als Balloon Driver (auch vmmemctl) bezeichnet wird. Wenn der Hypervisor nicht \u00fcber gen\u00fcgend physischen Speicher verf\u00fcgt und in den Soft-Zustand \u00fcbergeht, fordert ESXi die VM \u00fcber diesen Balloon Driver auf, nicht verwendeten Arbeitsspeicher zur\u00fcckzugeben. Der Treiber funktioniert seinerseits auf Betriebssystemebene und fordert freien Speicher von ihm an. Der Hypervisor sieht, welche Seiten des physischen Speichers der Balloon Driver belegt hat, nimmt den Speicher von der virtuellen Maschine zur\u00fcck und gibt ihn an den Host zur\u00fcck. Es entstehen keine Probleme mit dem Betriebssystem, da der Speicher auf Betriebssystemebene durch den Balloon Driver belegt ist. Standardm\u00e4\u00dfig kann der Balloon Driver bis zu 65 % des Speichers der VM zur\u00fccknehmen.<\/p>\n<p>Wenn VMware Tools nicht auf der VM installiert sind oder Ballooning deaktiviert ist (nicht empfohlen, aber es gibt <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/1002586\">KB<\/a><\/noindex>:), wechselt der Hypervisor sofort zu drastischeren Techniken des Speicherentzugs. Fazit: Achten Sie darauf, dass VMware Tools auf der VM installiert sind.<\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/884df6a7f5610d9bb372a7c34558f280.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Die Funktionsf\u00e4higkeit des Balloon Drivers kann \u00fcber das Betriebssystem mithilfe von VMware Tools \u00fcberpr\u00fcft werden.<\/i>.<\/p>\n<p><b>Memory Compression.<\/b> Diese Technik wird angewendet, wenn ESXi den Hard-Zustand erreicht. Wie der Name schon sagt, versucht ESXi, eine 4-Kilobyte-Seite des Arbeitsspeichers auf 2 Kilobyte zu komprimieren und dadurch etwas Platz im physischen Speicher des Servers freizugeben. Diese Technik erh\u00f6ht die Zugriffszeit auf den Inhalt der Arbeitsspeicherseiten der VM erheblich, da die Seite vorher dekomprimiert werden muss. Manchmal ist es nicht m\u00f6glich, alle Seiten zu komprimieren, und der ganze Prozess ben\u00f6tigt einige Zeit. Daher ist diese Technik in der Praxis nicht besonders effektiv.<\/p>\n<p><b>Memory Swapping.<\/b> Nach einer kurzen Phase der Memory Compression wird ESXi nahezu unvermeidlich (es sei denn, die VMs wurden auf andere Hosts verschoben oder wurden ausgeschaltet) zum Swapping \u00fcbergehen. Und wenn nur noch wenig Speicher vorhanden ist (Zustand Low), h\u00f6rt der Hypervisor auch auf, VMs Seiten des Speichers zuzuweisen, was Probleme in den Gastbetriebssystemen der VMs verursachen kann.<\/p>\n<p>So funktioniert Swapping. Beim Einschalten der virtuellen Maschine wird eine Datei mit der Endung .vswp erstellt. Ihre Gr\u00f6\u00dfe entspricht dem nicht reservierten Arbeitsspeicher der VM: der Unterschied zwischen dem konfigurierten und dem reservierten Speicher. Bei der Swapping-Arbeit entl\u00e4dt ESXi die Speicherseiten der virtuellen Maschine in diese Datei und beginnt, mit ihr anstelle des physischen Speichers des Servers zu arbeiten. Nat\u00fcrlich ist dieser \"Arbeitsspeicher\" um mehrere Gr\u00f6\u00dfenordnungen langsamer als echter Speicher, selbst wenn .vswp auf schnellem Speicher liegt.<\/p>\n<p>Im Gegensatz zu Ballooning, bei dem einer VM nicht verwendete Seiten entzogen werden, k\u00f6nnen beim Swapping Seiten auf die Festplatte verschoben werden, die aktiv von dem Betriebssystem oder Anwendungen innerhalb der VM genutzt werden. Infolgedessen sinkt die Leistung der VM bis hin zum Einfrieren. Die VM funktioniert formell weiter und kann mindestens ordnungsgem\u00e4\u00df aus dem Betriebssystem heruntergefahren werden. Wenn Sie geduldig sind \ud83d\ude09.<\/p>\n<p>Wenn eine VM in den Swap wechselt, ist dies eine abnormale Situation, die nach M\u00f6glichkeit vermieden werden sollte.<\/p>\n<h3>Wichtige Leistungskennzahlen des Arbeitsspeichers der virtuellen Maschine.<\/h3>\n<p>\nJetzt sind wir beim Wichtigsten angekommen. Zur \u00dcberwachung des Speicherstatus in der VM gibt es folgende Kennzahlen:<\/p>\n<p><b>Active<\/b> \u2014 zeigt die Menge des Arbeitsspeichers (in KByte) an, auf den die VM im vorherigen Messzeitraum Zugriff hatte.<\/p>\n<p><b>Nutzung<\/b> \u2014 dasselbe wie Active, jedoch in Prozent des konfigurierten Arbeitsspeichers der VM. Wird nach folgender Formel berechnet: active \u00f7 virtual machine configured memory size.<br \/>\nEin hoher Usage- und Active-Wert ist nicht immer ein Indikator f\u00fcr Leistungsprobleme der VM. Wenn die VM Arbeitsspeicher aggressiv nutzt (mindestens darauf zugreift), bedeutet das nicht, dass der Speicher nicht ausreicht. Vielmehr ist es ein Anlass, sich anzusehen, was im Betriebssystem passiert.<br \/>\nEs gibt einen Standardalarm f\u00fcr den Memory Usage der VM:<\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/073132b332da79be15e3bedf2c66cf94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Geteilt<\/b> \u2014 der Anteil des Arbeitsspeichers der VM, der durch TPS (innerhalb der VM oder zwischen VMs) dedupliziert wurde.<\/p>\n<p><b>Granted<\/b> \u2014 der Anteil des physischen Arbeitsspeichers des Hosts (in KByte), der der VM zugewiesen wurde. Beinhaltet Shared.<\/p>\n<p><b>Consumed<\/b> (Granted \u2014 Shared) \u2014 der Anteil des physischen Arbeitsspeichers (in KByte), den die VM vom Host verbraucht. Schlie\u00dft Shared nicht ein.<\/p>\n<p>Wenn ein Teil des Arbeitsspeichers der VM nicht aus dem physischen Arbeitsspeicher des Hosts, sondern aus einer Swap-Datei bereitgestellt wird oder der Speicher \u00fcber den Balloon Driver der VM entzogen wird, wird dieser Betrag in Granted und Consumed nicht ber\u00fccksichtigt.<br \/>\nHohe Werte f\u00fcr Granted und Consumed sind v\u00f6llig normal. Das Betriebssystem nimmt nach und nach Speicher vom Hypervisor und gibt ihn nicht zur\u00fcck. Im Laufe der Zeit n\u00e4hert sich bei einer aktiv betriebenen VM der Wert dieser Z\u00e4hler dem konfigurierten Speicher an, und dort bleibt er.<\/p>\n<p><b>Null<\/b> \u2014 der Speicherplatz der VM (KByte), der Nullen enth\u00e4lt. Dieser Speicher wird vom Hypervisor als frei betrachtet und kann anderen virtuellen Maschinen zugewiesen werden. Sobald das Gastbetriebssystem etwas in den genullten Speicher geschrieben hat, wechselt es zu Consumed und wird nicht zur\u00fcckgegeben.<\/p>\n<p><b>Reserved Overhead<\/b> \u2014 der Speicherplatz der VM (KByte), der vom Hypervisor f\u00fcr den Betrieb der VM reserviert ist. Dies ist ein kleiner Speicherbereich, der jedoch auf dem Host vorhanden sein muss, da die VM andernfalls nicht gestartet werden kann.<\/p>\n<p><b>Balloon<\/b> \u2014 der Speicherplatz (KByte), der von der VM mithilfe des Balloon Drivers entzogen wurde.<\/p>\n<p><b>Compressed<\/b> \u2014 der Speicherplatz (KByte), der komprimiert werden konnte.<\/p>\n<p><b>Swapped<\/b> \u2014 der Speicherplatz (KByte), der aufgrund fehlenden physischen Speichers auf dem Server auf die Festplatte ausgelagert wurde.<br \/>\nBalloon und die anderen Z\u00e4hler der Speicherbereinigungstechniken sind gleich null.<\/p>\n<p>So sieht das Diagramm mit den Z\u00e4hlern des normal arbeitenden VMs mit 150 GB RAM aus.<\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/4c361a407581b24fc042c91a6d76aa68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIm Diagramm unten hat die VM offensichtlich Probleme. Unter dem Diagramm ist zu erkennen, dass f\u00fcr diese VM alle beschriebenen Techniken zur Speicherverwaltung genutzt wurden. Balloon f\u00fcr diese VM ist wesentlich gr\u00f6\u00dfer als Consumed. Tats\u00e4chlich ist die VM eher tot als lebendig. <\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/fcc8f196fc7d158e82de4737c5ebe776.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>ESXTOP<\/h3>\n<p>\nWie bei der CPU, wenn wir die Situation auf dem Host schnell bewerten m\u00f6chten, sowie deren Dynamik in Zeitabst\u00e4nden von bis zu 2 Sekunden, sollten wir ESXTOP verwenden.<\/p>\n<p>Der ESXTOP-Bildschirm f\u00fcr Memory wird mit der Taste \u201em\u201c aufgerufen und sieht wie folgt aus (die Felder B,D,H,J,K,L,O sind ausgew\u00e4hlt):<\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/27383c357fb351bbe8353abf3b08171e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInteressant f\u00fcr uns sind die folgenden Parameter: <\/p>\n<p><b>Mem overcommit avg<\/b> \u2014 der Durchschnitt der Speichernutzungs\u00fcberschreitung auf dem Host \u00fcber 1, 5 und 15 Minuten. Wenn dieser \u00fcber null liegt, ist das ein Grund, zu \u00fcberpr\u00fcfen, was vor sich geht, aber es ist nicht immer ein Indikator f\u00fcr das Vorhandensein von Problemen.<\/p>\n<p>In den Zeilen <b>PMEM\/MB<\/b> und <b>VMKMEM\/MB<\/b> \u2014 Informationen \u00fcber den physischen Speicher des Servers und den Speicher, der dem VMkernel zur Verf\u00fcgung steht. Hier kann man interessante Werte wie minfree (in MByte) und den Zustand des Hosts im Hinblick auf den Speicher (in unserem Fall hoch) sehen.<\/p>\n<p>In der Zeile <b>NUMA\/MB<\/b> man kann die Verteilung des RAM \u00fcber NUMA-Nodes (Sockets) sehen. In diesem Beispiel ist die Verteilung ungleichm\u00e4\u00dfig, was grunds\u00e4tzlich nicht sehr gut ist.<\/p>\n<p>Hier sind die allgemeinen Statistiken des Servers zu den Techniken der Speicherfreigabe:<\/p>\n<p><b>PSHARE\/MB<\/b> \u2014 dies ist die TPS-Statistik;<\/p>\n<p><b>SWAP\/MB<\/b> \u2014 Statistiken zur Nutzung von Swap;<\/p>\n<p><b>ZIP\/MB<\/b> \u2014 Statistiken zur Komprimierung von Arbeitsspeicherseiten;<\/p>\n<p><b>MEMCTL\/MB<\/b> \u2014 Statistiken zur Nutzung des Balloon Drivers.<\/p>\n<p>F\u00fcr einzelne VMs k\u00f6nnte uns folgende Information interessieren. Ich habe die VM-Namen anonymisiert, um das Publikum nicht zu verwirren:). Wenn die ESXTOP-Metrik dem Z\u00e4hler in vSphere entspricht, f\u00fchre ich den entsprechenden Z\u00e4hler an. <\/p>\n<p><b>MEMSZ<\/b> \u2014 der auf der VM konfigurierte Speicher (MB).<br \/>\nMEMSZ = GRANT + MCTLSZ + SWCUR + untouched.<\/p>\n<p><b>GRANT<\/b> \u2014 Granted in MB.<\/p>\n<p><b>TCHD<\/b> \u2014 Active in MB.<\/p>\n<p><b>MCTL?<\/b> \u2014 ob der Balloon Driver auf der VM installiert ist.<\/p>\n<p><b>MCTLSZ<\/b> \u2014 Balloon in MB.<\/p>\n<p><b>MCTLGT<\/b> \u2014 der Arbeitsspeicher (MB), den ESXi von der VM \u00fcber den Balloon Driver abziehen m\u00f6chte (Memctl Target).<\/p>\n<p><b>MCTLMAX<\/b> \u2014 maximaler Arbeitsspeicher (MB), den ESXi von der VM \u00fcber den Balloon Driver abziehen kann.<\/p>\n<p><b>SWCUR<\/b> \u2014 der aktuelle Arbeitsspeicher (MB), der der VM aus der Swap-Datei zugewiesen ist. <\/p>\n<p><b>SWGT<\/b> \u2014 der Arbeitsspeicher (MB), den ESXi der VM aus der Swap-Datei zuweisen m\u00f6chte (Swap Target).<\/p>\n<p>\u00dcber ESXTOP kann auch detailliertere Informationen zur NUMA-Topologie der VM abgerufen werden. Dazu m\u00fcssen die Felder D,G ausgew\u00e4hlt werden:<\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/3fde4ab9d54c709f66313020437255c2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>NHN<\/b> \u2013 NUMA-Knoten, auf denen die VM liegt. Hier l\u00e4sst sich sofort erkennen, dass breite VMs entstehen, die nicht auf einen einzelnen NUMA-Knoten passen.<\/p>\n<p><b>NRMEM<\/b> \u2013 wie viele Megabyte Speicher die VM von einem entfernten NUMA-Knoten nimmt.<\/p>\n<p><b>NLMEM<\/b> \u2013 wie viele Megabyte Speicher die VM von einem lokalen NUMA-Knoten nimmt.<\/p>\n<p><b>N%L<\/b> \u2013 Prozentsatz des Speichers der VM auf dem lokalen NUMA-Knoten (wenn weniger als 80% \u2014 kann es zu Leistungsproblemen kommen).<\/p>\n<h3>Speicher auf dem Hypervisor<\/h3>\n<p>\nWenn die CPU-Z\u00e4hler auf dem Hypervisor normalerweise kein besonders gro\u00dfes Interesse wecken, ist die Lage bei dem Speicher genau umgekehrt. Ein hoher Speicherverbrauch auf der VM weist nicht immer auf ein Leistungsproblem hin, w\u00e4hrend ein hoher Speicherverbrauch auf dem Hypervisor dennoch Techniken zur Speicherverwaltung aktiviert und somit Leistungsprobleme der VM verursachen kann. Es ist wichtig, die Alarme f\u00fcr die Verwendung von Host-Speicher zu \u00fcberwachen und zu verhindern, dass die VM in den Swap gelangt.<\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/27931f9a8607000dc9a7ca483c03ad68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/4a1c0d6199a340dd62e5c923611ddd6e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Unswap<\/h3>\n<p>\nWenn die VM in den Swap geraten ist, sinkt ihre Leistung erheblich. Die Hinweise auf Ballooning und Komprimierung verschwinden schnell, sobald wieder ausreichend Arbeitsspeicher auf dem Host verf\u00fcgbar ist, aber die virtuelle Maschine hat es nicht eilig, aus dem Swap in den Arbeitsspeicher des Servers zur\u00fcckzukehren. <br \/>\nBis zur Version ESXi 6.0 war der einzige zuverl\u00e4ssige und schnelle Weg, eine VM aus dem Swap zu bringen, ein Neustart (genauer gesagt, das Ausschalten\/ Einschalten des Containers). Mit ESXi 6.0 gab es zwar eine nicht ganz offizielle, aber funktionierende und zuverl\u00e4ssige M\u00f6glichkeit, eine VM aus dem Swap zu bringen. Auf einer der Konferenzen hatte ich die Gelegenheit, mit einem der Ingenieure von VMware zu sprechen, der f\u00fcr den CPU-Scheduler verantwortlich ist. Er best\u00e4tigte, dass diese Methode durchaus funktioniert und sicher ist. In unserer Erfahrung gab es auch keine Probleme damit.<\/p>\n<p>Eigentlich die Befehle, um eine VM aus dem Swap zu bringen <noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/\">beschrieben<\/a><\/noindex> Duncan Epping. Ich werde die detaillierte Beschreibung nicht wiederholen, sondern nur ein Beispiel f\u00fcr ihre Anwendung anf\u00fchren. Wie im Screenshot zu sehen ist, verschwindet der Swap f\u00fcr die VM nach einer gewissen Zeit nach Ausf\u00fchrung des angegebenen Befehls.<\/p>\n<p><img decoding=\"async\" alt=\"Leistungsanalyse von VMs in VMware vSphere. Teil 2: Speicher\" src=\"\/wp-content\/uploads\/c60d03c59e115d48b209dadc25081c1e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Tipps zur Verwaltung des Arbeitsspeichers auf ESXi<\/h3>\n<p>\nZum Schluss noch einige Tipps, die Ihnen helfen, Leistungsprobleme der VMs aufgrund von Arbeitsspeicher zu vermeiden:<\/p>\n<ul>\n<li>Vermeiden Sie eine \u00dcberbuchung des Arbeitsspeichers in Produktions-Clustern. Es ist ratsam, stets etwa 20-30 % freien Speicher im Cluster zu haben, damit DRS (und der Administrator) Spielraum zur Verf\u00fcgung hat und bei der Migration der VMs nicht in den Swap wechseln. Denken Sie auch an die Reserve f\u00fcr die Ausfallsicherheit. Es ist unangenehm, wenn bei einem Ausfall eines Servers und der Neustart der VMs mit HA einige Maschinen zudem in den Swap wechseln.<\/li>\n<li>In Infrastrukturen mit hoher Konsolidierung sollten Sie vermeiden, VMs mit mehr als der H\u00e4lfte des Hosts Arbeitsspeicher zu erstellen. Das hilft DRS erneut, die virtuellen Maschinen problemlos auf den Servern des Clusters zu verteilen. Diese Regel ist nat\u00fcrlich nicht universell.<\/li>\n<li>Achten Sie auf die Host Memory Usage Alarm.<\/li>\n<li>Vergessen Sie nicht, VMware Tools auf den VMs zu installieren und Ballooning nicht zu deaktivieren.<\/li>\n<li>Erw\u00e4gen Sie die M\u00f6glichkeit, Inter-VM TPS zu aktivieren und Large Pages in VDI-Umgebungen und Testumgebungen zu deaktivieren.<\/li>\n<li>Wenn eine VM Leistungsprobleme hat, \u00fcberpr\u00fcfen Sie, ob sie Speicher von einem entfernten NUMA-Knoten verwendet.<\/li>\n<li>Bringen Sie die VMs so schnell wie m\u00f6glich aus dem Swap! Neben allem anderen leidet die Storage-Performance, wenn die VMs im Swap sind.<\/li>\n<\/ul>\n<p>\nDas w\u00e4re alles zum Thema Arbeitsspeicher. Nachfolgend finden Sie Artikel zu diesem Thema f\u00fcr diejenigen, die sich intensiver mit den Details befassen m\u00f6chten. Der n\u00e4chste Artikel wird dem Storage gewidmet sein.<\/p>\n<p><b class=\"spoiler_title\">N\u00fctzliche Links<\/b><noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2015\/03\/02\/what-happens-at-which-vsphere-memory-state\/\">http:\/\/www.yellow-bricks.com\/2015\/03\/02\/what-happens-at-which-vsphere-memory-state\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2013\/06\/14\/how-does-mem-minfreepct-work-with-vsphere-5-0-and-up\/\">http:\/\/www.yellow-bricks.com\/2013\/06\/14\/how-does-mem-minfreepct-work-with-vsphere-5-0-and-up\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vladan.fr\/vmware-transparent-page-sharing-tps-explained\/\">https:\/\/www.vladan.fr\/vmware-transparent-page-sharing-tps-explained\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/\">http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/1002586\">https:\/\/kb.vmware.com\/s\/article\/1002586<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vladan.fr\/what-is-vmware-memory-ballooning\/\">https:\/\/www.vladan.fr\/what-is-vmware-memory-ballooning\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/2080735\">https:\/\/kb.vmware.com\/s\/article\/2080735<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/2017642\">https:\/\/kb.vmware.com\/s\/article\/2017642<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/labs.vmware.com\/vmtj\/vmware-esx-memory-resource-management-swap\">https:\/\/labs.vmware.com\/vmtj\/vmware-esx-memory-resource-management-swap<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.vmware.com\/vsphere\/2013\/10\/understanding-vsphere-active-memory.html\">https:\/\/blogs.vmware.com\/vsphere\/2013\/10\/understanding-vsphere-active-memory.html<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vmware.com\/support\/developer\/converter-sdk\/conv51_apireference\/memory_counters.html#overhead\">https:\/\/www.vmware.com\/support\/developer\/converter-sdk\/conv51_apireference\/memory_counters.html<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.vmware.com\/en\/VMware-vSphere\/6.5\/vsphere-esxi-vcenter-server-65-monitoring-performance-guide.pdf\">https:\/\/docs.vmware.com\/en\/VMware-vSphere\/6.5\/vsphere-esxi-vcenter-server-65-monitoring-performance-guide.pdf<\/a><\/noindex><\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dataline\/blog\/455820\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0427\u0430\u0441\u0442\u044c 1. \u041f\u0440\u043e CPU \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043f\u0440\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (RAM) \u0432 vSphere. \u0412\u0440\u043e\u0434\u0435 \u0431\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e, \u0447\u0435\u043c \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u043c: \u0435\u0441\u043b\u0438 \u043d\u0430 \u0412\u041c \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u0438\u0445 \u0441\u043b\u043e\u0436\u043d\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c. \u0417\u0430\u0442\u043e \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f, \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0441 \u043d\u0438\u043c\u0438 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041d\u043e \u043e\u0431\u043e \u0432\u0441\u0435\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u043e\u0440\u0438\u0438 \u041e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35292","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041c \u0432 VMware vSphere. \u0427\u0430\u0441\u0442\u044c 2: Memory | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:03:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:03:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Analyse der VM-Leistung in VMware vSphere. Teil 2: Arbeitsspeicher | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0412\u041c \u0432 VMware vSphere. \u0427\u0430\u0441\u0442\u044c 2: Memory | ProHoster","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:03:28+00:00","article:modified_time":"2019-10-31T19:03:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35292","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 22:41:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:01:22","updated":"2026-01-21 22:41:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/35292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=35292"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/35292\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=35292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=35292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=35292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}