{"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\/da\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","title":{"rendered":"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" 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\/\">Del 1. Om CPU<\/a><\/noindex><\/p>\n<p>I denne artikel taler vi om performance t\u00e6llere for arbejdshukommelse (RAM) i vSphere.<br \/>\nDet virker til, at der er mere klarhed omkring hukommelsen end om processoren: hvis VM'erne oplever performanceproblemer, er de sv\u00e6re at undg\u00e5. Men n\u00e5r de opst\u00e5r, er det langt sv\u00e6rere at h\u00e5ndtere dem. Men lad os tage det fra starten. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Lidt teori<\/h3>\n<p>\nDen arbejdshukommelse, der anvendes af virtuelle maskiner, tages fra serverens hukommelse, hvor VM'erne k\u00f8rer. Dette er ganske indlysende :). Hvis serverens arbejdshukommelse ikke er tilstr\u00e6kkelig for alle ans\u00f8gere, begynder ESXi at anvende teknikker til optimering af forbruget af arbejdshukommelse (memory reclamation techniques). Ellers ville operativsystemerne p\u00e5 VM'erne falde med hukommelsesadgangsfejl. <\/p>\n<p>Hvilke teknikker der skal anvendes, bestemmer ESXi afh\u00e6ngigt af belastningen af arbejdshukommelsen:<\/p>\n<p><b>Hukommelsestilstand<\/b><\/p>\n<p><b>Gr\u00e6nse<\/b><\/p>\n<p><b>Handlinger<\/b><\/p>\n<p>H\u00f8j<\/p>\n<p>400% af minFree<\/p>\n<p>N\u00e5r den \u00f8verste gr\u00e6nse n\u00e5s, opdeles store hukommelsessider i mindre (TPS fungerer i standardtilstand).<\/p>\n<p>Ryd<\/p>\n<p>100% af minFree<\/p>\n<p>Store hukommelsessider opdeles i mindre, TPS fungerer tvingende.<\/p>\n<p>Soft<\/p>\n<p>64% af minFree<\/p>\n<p>TPS + Balloon<\/p>\n<p>Hard<\/p>\n<p>32% af minFree<\/p>\n<p>TPS + Compress + Swap<\/p>\n<p>Lav<\/p>\n<p>16% af 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\/\">Kilde<\/a><\/noindex> <\/p>\n<p>minFree er den arbejdshukommelse, der er n\u00f8dvendig for hypervisorens drift. <\/p>\n<p>Indtil ESXi 4.1 var minFree standardfastsat til 6% af serverens samlede m\u00e6ngde arbejdshukommelse (procenten kunne \u00e6ndres via indstillingen Mem.MinFreePct p\u00e5 ESXi). I senere versioner, p\u00e5 grund af den stigende m\u00e6ngde hukommelse p\u00e5 serverne, begyndte minFree at blive beregnet baseret p\u00e5 v\u00e6rtsm\u00e6ngden af hukommelse snarere end som en fast procentdel. <\/p>\n<p>MinFree-v\u00e6rdien (standard) beregnes som f\u00f8lger:<\/p>\n<p><b>Procentdel af hukommelse, der er reserveret til minFree<\/b><\/p>\n<p><b>Hukommelsesomr\u00e5de<\/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>Tilbagev\u00e6rende hukommelse<\/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\/\">Kilde<\/a><\/noindex><\/p>\n<p>For eksempel, for en server med 128 GB RAM vil minFree-v\u00e6rdien v\u00e6re som f\u00f8lger:<br \/>\nMinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 MB = 1,88 GB <br \/>\nDen faktiske v\u00e6rdi kan variere med et par hundrede MB, afh\u00e6ngigt af serveren og den arbejdshukommelse, der er tilg\u00e6ngelig.<\/p>\n<p><b>Procentdel af hukommelse, der er reserveret til minFree<\/b><\/p>\n<p><b>Hukommelsesomr\u00e5de<\/b><\/p>\n<p><b>V\u00e6rdi for 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>Tilbagev\u00e6rende hukommelse (100 GB)<\/p>\n<p>1024 MB<\/p>\n<p>\nFor productive environments, only the High state can usually be considered acceptable. For test and development environments, the Clear\/Soft states may be acceptable. If the remaining RAM on the host is less than 64% MinFree, then VMs running on it will definitely experience performance issues.<\/p>\n<p>Each state applies specific memory reclamation techniques, starting from TPS, which has virtually no impact on VM performance, to Swapping. I will explain these in more detail. <\/p>\n<p><b>Transparent Page Sharing (TPS).<\/b> TPS is roughly speaking, the deduplication of the RAM pages of virtual machines on the server.<\/p>\n<p>ESXi searches for identical memory pages of virtual machines by calculating and comparing the hash sums of the pages, and removes duplicate pages, replacing them with references to the same page in the server's physical memory. As a result, physical memory consumption is reduced, and some memory overcommitment can be achieved almost without a decrease in performance.<\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" 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\/\">Kilde<\/a><\/noindex><\/p>\n<p>This mechanism only works for memory pages of 4 KB (small pages). The hypervisor does not even attempt to deduplicate 2 MB (large pages): the chance of finding identical pages of that size is low.<\/p>\n<p>By default, ESXi allocates memory in large pages. The splitting of large pages into small ones begins when the High state threshold is reached and occurs forcibly when the Clear state is reached (see the hypervisor state table).<\/p>\n<p>If you want TPS to start working without waiting for the host's RAM to fill up, you need to set the value in Advanced Options ESXi to <i>\u201cMem.AllocGuestLargePage\u201d<\/i> to 0 (default is 1). Then, the allocation of large memory pages for virtual machines will be disabled.<\/p>\n<p>Since December 2014, in all ESXi releases, TPS between VMs is disabled by default, as a vulnerability was found that theoretically allows access to the RAM of one VM from another VM. Details here. I have not encountered information regarding the practical implementation of exploiting the TPS vulnerability.<\/p>\n<p>The TPS policy is controlled through the advanced option <i>\u201cMem.ShareForceSalting\u201d<\/i> on ESXi:<br \/>\n0 \u2014 Inter-VM TPS. TPS works for pages of different VMs;<br \/>\n1 \u2013 TPS for VMs with the same value of \u201csched.mem.pshare.salt\u201d in VMX;<br \/>\n2 (default) \u2013 Intra-VM TPS. TPS works for pages within the same VM.<\/p>\n<p>Det giver bestemt mening at deaktivere store sider og aktivere Inter-VM TPS p\u00e5 testmilj\u00f8er. Dette kan ogs\u00e5 anvendes til milj\u00f8er med et stort antal ensartede VM'er. For eksempel kan der i VDI-ops\u00e6tninger spares op til flere procent af den fysiske hukommelse. <\/p>\n<p><b>Memory Ballooning.<\/b> Ballooning er ikke l\u00e6ngere en s\u00e5 harml\u00f8s og gennemsigtig teknik for operativsystemet i VM'erne som TPS. Men med korrekt anvendelse kan man leve med og endda arbejde med Ballooning.<\/p>\n<p>Sammen med VMware Tools installeres der en specialdriver p\u00e5 VM'en, kaldet Balloon Driver (ogs\u00e5 kendt som vmmemctl). N\u00e5r hypervisoren begynder at mangle fysisk hukommelse og g\u00e5r over i en Soft-tilstand, beder ESXi VM'en om at returnere ubrugt RAM gennem denne Balloon Driver. Driveren opererer p\u00e5 operativsystemniveau og anmoder om ledig hukommelse fra det. Hypervisoren ser, hvilke sider af den fysiske hukommelse Balloon Driver har taget, tilbageholder hukommelsen fra den virtuelle maskine og returnerer den til v\u00e6rten. Der opst\u00e5r ingen problemer med operativsystemets funktion, da hukommelsen p\u00e5 operativsystemniveau er optaget af Balloon Driver'en. Som standard kan Balloon Driver tage op til 65% af hukommelsen i VM'en.<\/p>\n<p>Hvis VMware Tools ikke er installeret p\u00e5 VM'en eller Ballooning er deaktiveret (jeg anbefaler ikke dette, men der er <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/1002586\">KB<\/a><\/noindex>:), g\u00e5r hypervisoren straks over til mere strikse teknikker til erobring af hukommelse. Konklusion: S\u00f8rg for, at VMware Tools er installeret p\u00e5 VM'en.<\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/884df6a7f5610d9bb372a7c34558f280.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Funktionen af Balloon Driver'en kan kontrolleres fra operativsystemet via VMware Tools.<\/i>.<\/p>\n<p><b>Memory Compression.<\/b> Denne teknik anvendes, n\u00e5r ESXi n\u00e5r tilstande Hard. Som navnet antyder, fors\u00f8ger ESXi at komprimere 4 KB hukommelsessider til 2 KB for p\u00e5 den m\u00e5de at frig\u00f8re lidt plads i den fysiske hukommelse p\u00e5 serveren. Denne teknik \u00f8ger betydeligt adgangstiden til indholdet af hukommelsessiderne i VM'en, da siden skal dekomprimeres f\u00f8rst. Nogle gange lykkes det ikke at komprimere alle siderne, og selve processen tager noget tid. Derfor er denne teknik i praksis ikke s\u00e6rlig effektiv.<\/p>\n<p><b>Memory Swapping.<\/b> Efter en kort fase med Memory Compression g\u00e5r ESXi n\u00e6sten uundg\u00e5eligt (hvis VM'erne ikke flyttes til andre v\u00e6rter eller slukkes) over til Swapping. Og hvis der er meget lidt hukommelse tilbage (tilstand Low), stopper hypervisoren ogs\u00e5 med at tildele VM'erne hukommelsessider, hvilket kan for\u00e5rsage problemer i g\u00e6steoperativsystemerne i VM'erne.<\/p>\n<p>S\u00e5dan fungerer Swapping. N\u00e5r en virtuel maskine startes, oprettes der en fil med .vswp-udvidelsen. St\u00f8rrelsen svarer til den ikke-reserverede RAM i VM: det er forskellen mellem den konfigurerede og reserverede hukommelse. Under Swapping overf\u00f8rer ESXi hukommelsessider fra den virtuelle maskine til denne fil og begynder at arbejde med den i stedet for serverens fysiske hukommelse. Selvf\u00f8lgelig er denne \u201ehukommelse\u201c adskillige ordnede langsommere end den rigtige, selvom .vswp ligger p\u00e5 hurtig lagring.<\/p>\n<p>I mods\u00e6tning til Ballooning, hvor ikke-brugte sider fjernes fra VM, kan sider, der aktivt bruges af operativsystemet eller programmerne inde i VM, flytte til disk under Swapping. Dette medf\u00f8rer, at VMs ydeevne falder til det punkt, hvor den n\u00e6sten fryser. VM'en fungerer formelt, og den kan som mindst korrekt slukkes fra OS. Hvis du er t\u00e5lmodig \ud83d\ude09<\/p>\n<p>Hvis VMen er g\u00e5et i Swap - er dette en us\u00e6dvanlig situation, som helst b\u00f8r undg\u00e5s.<\/p>\n<h3>De vigtigste hukommelsesydelsesm\u00e5l for den virtuelle maskine<\/h3>\n<p>\nNu er vi kommet til det vigtigste. For at overv\u00e5ge hukommelsestilstanden i VM'en findes f\u00f8lgende m\u00e5linger:<\/p>\n<p><b>Aktiv<\/b> \u2014 viser m\u00e6ngden af RAM (KB), som VM'en har haft adgang til i den foreg\u00e5ende m\u00e5leperiode.<\/p>\n<p><b>Brug<\/b> \u2014 det samme som Aktiv, men i procent af den konfigurerede hukommelse for VM'en. Beregnes efter f\u00f8lgende formel: aktiv \u00f7 konfigureret hukommelsesst\u00f8rrelse for virtuel maskine.<br \/>\nH\u00f8j brug og Aktiv er ikke altid indikatorer for ydeevneproblemer i VM'en. Hvis VM'en aggressivt bruger hukommelse (i det mindste f\u00e5r adgang til den), betyder det ikke, at der mangler hukommelse. Snarere er det en grund til at se, hvad der sker i OS.<br \/>\nDer er en standard Alarm for Memory Usage for VM'er:<\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/073132b332da79be15e3bedf2c66cf94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Delt<\/b> \u2014 m\u00e6ngden af RAM i VM'en, der er deduplikeret ved hj\u00e6lp af TPS (inden i VM eller mellem VM'er).<\/p>\n<p><b>Givet<\/b> \u2014 m\u00e6ngden af fysisk hukommelse p\u00e5 v\u00e6rten (KB), som er givet til VM'en. Inkluderer Deling.<\/p>\n<p><b>Forbrugt<\/b> (Givet \u2014 Delt) \u2014 m\u00e6ngden af fysisk hukommelse (KB), som VM'en forbruger fra v\u00e6rten. Inkluderer ikke Delt.<\/p>\n<p>Hvis en del af hukommelsen i VM'en tildeles ikke fra den fysiske hukommelse p\u00e5 v\u00e6rten, men fra swap-filen, eller hvis hukommelsen er taget fra VM'en via Balloon Driver, t\u00e6lles denne m\u00e6ngde ikke med i Givet og Forbrugt.<br \/>\nH\u00f8je v\u00e6rdier for Granted og Consumed er helt normale. Operativsystemet tager gradvist hukommelse fra hypervisoren og returnerer den ikke. Over tid n\u00e6rmer v\u00e6rdierne for disse t\u00e6llere sig det konfigurerede hukommelsesbel\u00f8b for den aktive virtuelle maskine, og de forbliver der.<\/p>\n<p><b>Zero<\/b> \u2014 m\u00e6ngden af RAM i VM'en (KB), der indeholder nuller. Denne hukommelse betragtes af hypervisoren som fri og kan gives til andre virtuelle maskiner. N\u00e5r g\u00e6st OS'et har skrevet noget til den nulstillede hukommelse, g\u00e5r det over i Consumed og returneres ikke.<\/p>\n<p><b>Reserved Overhead<\/b> \u2014 m\u00e6ngden af RAM i VM'en (KB), der er reserveret af hypervisoren til drift af VM'en. Det er en lille m\u00e6ngde, men den skal v\u00e6re tilg\u00e6ngelig p\u00e5 v\u00e6rten, ellers kan VM'en ikke starte.<\/p>\n<p><b>Balloon<\/b> \u2014 m\u00e6ngden af RAM (KB), der er taget fra VM'en ved hj\u00e6lp af Balloon Driver.<\/p>\n<p><b>Compressed<\/b> \u2014 m\u00e6ngden af RAM (KB), som er lykkedes at komprimere.<\/p>\n<p><b>Swapped<\/b> \u2014 m\u00e6ngden af RAM (KB), som er flyttet til disk p\u00e5 grund af mangel p\u00e5 fysisk hukommelse p\u00e5 serveren.<br \/>\nBalloon og de andre t\u00e6llere for memory reclamation techniques er nul.<\/p>\n<p>S\u00e5dan ser grafen ud med t\u00e6llerne for en normal fungerende VM med 150 GB RAM.<\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/4c361a407581b24fc042c91a6d76aa68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e5 grafen nedenfor har VM'en tydelige problemer. Under grafen kan man se, at alle de beskrevne teknikker til arbejde med RAM er blevet anvendt for denne VM. Balloon for denne VM er meget st\u00f8rre end Consumed. Faktisk er VM'en mere d\u00f8d end levende. <\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/fcc8f196fc7d158e82de4737c5ebe776.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>ESXTOP<\/h3>\n<p>\nSom med CPU, hvis vi hurtigt vil vurdere situationen p\u00e5 v\u00e6rten s\u00e5vel som dens dynamik med intervaller p\u00e5 op til 2 sekunder, b\u00f8r vi bruge ESXTOP.<\/p>\n<p>ESXTOP-sk\u00e6rmen for hukommelse aktiveres med tasten \"m\" og ser s\u00e5ledes ud (felterne B, D, H, J, K, L, O er valgt):<\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/27383c357fb351bbe8353abf3b08171e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDe f\u00f8lgende parametre vil v\u00e6re interessante for os: <\/p>\n<p><b>Mem overcommit avg<\/b> \u2014 gennemsnittet for hukommelsesovercommit p\u00e5 v\u00e6rten over 1, 5 og 15 minutter. Hvis det er over nul, er det grund til at kigge n\u00e6rmere, men det er ikke altid en indikator p\u00e5 problemer.<\/p>\n<p>I linjerne <b>PMEM\/MB<\/b> og <b>VMKMEM\/MB<\/b> \u2014 information om den fysiske hukommelse p\u00e5 serveren og hukommelsen tilg\u00e6ngelig for VMkernel. Her kan man se minfree v\u00e6rdien (i MB), v\u00e6rtsstatus for hukommelse (i vores tilf\u00e6lde, high).<\/p>\n<p>I linjen <b>NUMA\/MB<\/b> kan man se fordelingen af RAM over NUMA-noder (sokler). I dette eksempel er fordelingen uj\u00e6vn, hvilket i princippet ikke er s\u00e6rlig godt.<\/p>\n<p>Her er den samlede statistik for serveren vedr\u00f8rende memory reclamation teknikker:<\/p>\n<p><b>PSHARE\/MB<\/b> \u2014 er TPS-statistik;<\/p>\n<p><b>SWAP\/MB<\/b> \u2014 statistikken for brugen af Swap;<\/p>\n<p><b>ZIP\/MB<\/b> \u2014 statistikken for komprimering af hukommelsessider;<\/p>\n<p><b>MEMCTL\/MB<\/b> \u2014 statistikken for brugen af Balloon Driver.<\/p>\n<p>For hver enkelt VM kan vi v\u00e6re interesseret i f\u00f8lgende oplysninger. Jeg har skjult navnene p\u00e5 VM'erne for ikke at forvirre publikum:). Hvis metrikken ESXTOP svarer til t\u00e6lleren i vSphere, bringer jeg den relevante t\u00e6ller. <\/p>\n<p><b>MEMSZ<\/b> \u2014 den m\u00e6ngde hukommelse, der er konfigureret til VM'en (MB).<br \/>\nMEMSZ = GRANT + MCTLSZ + SWCUR + untouched.<\/p>\n<p><b>GRANT<\/b> \u2014 Granted i MB.<\/p>\n<p><b>TCHD<\/b> \u2014 Active i MB.<\/p>\n<p><b>MCTL?<\/b> \u2014 er Balloon Driver installeret p\u00e5 VM'en.<\/p>\n<p><b>MCTLSZ<\/b> \u2014 Balloon i MB.<\/p>\n<p><b>MCTLGT<\/b> \u2014 den m\u00e6ngde RAM (MB), som ESXi \u00f8nsker at inddrage fra VM'en via Balloon Driver (Memctl Target).<\/p>\n<p><b>MCTLMAX<\/b> \u2014 den maksimale m\u00e6ngde RAM (MB), som ESXi kan inddrage fra VM'en via Balloon Driver.<\/p>\n<p><b>SWCUR<\/b> \u2014 den aktuelle m\u00e6ngde RAM (MB), der er tildelt VM'en fra Swap-filen. <\/p>\n<p><b>SWGT<\/b> \u2014 den m\u00e6ngde RAM (MB), som ESXi \u00f8nsker at tildele VM'en fra Swap-filen (Swap Target).<\/p>\n<p>Det er ogs\u00e5 muligt at se mere detaljeret information om NUMA-topologien for VM'en via ESXTOP. For dette skal du v\u00e6lge felterne D,G:<\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/3fde4ab9d54c709f66313020437255c2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>NHN<\/b> \u2013 NUMA-noderne, hvor VM'en er placeret. Her kan man straks bem\u00e6rke brede VM'er, som ikke kan placeres p\u00e5 \u00e9n NUMA-node.<\/p>\n<p><b>NRMEM<\/b> \u2013 hvor mange megabyte hukommelse VM'en tager fra den fjerne NUMA-node.<\/p>\n<p><b>NLMEM<\/b> \u2013 hvor mange megabyte hukommelse VM'en tager fra den lokale NUMA-node.<\/p>\n<p><b>N%L<\/b> \u2013 procentdelen af hukommelse VM'en bruger p\u00e5 den lokale NUMA-node (hvis mindre end 80% \u2014 kan der opst\u00e5 problemer med ydeevnen).<\/p>\n<h3>Hukommelse p\u00e5 hypervisoren<\/h3>\n<p>\nHvis CPU-t\u00e6llerne p\u00e5 hypervisoren normalt ikke er af s\u00e6rlig interesse, s\u00e5 er situationen med hukommelsen den modsatte. H\u00f8j hukommelsesforbrug p\u00e5 VM'en indikerer ikke altid et problem med ydeevnen, men h\u00f8j hukommelsesforbrug p\u00e5 hypervisoren aktiverer hukommelsesh\u00e5ndteringsteknikker og for\u00e5rsager problemer med VM'ens ydeevne. Man skal overv\u00e5ge alarmene for Host Memory Usage og undg\u00e5, at VM'en g\u00e5r i Swap.<\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/27931f9a8607000dc9a7ca483c03ad68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/4a1c0d6199a340dd62e5c923611ddd6e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Unswap<\/h3>\n<p>\nHvis VM'en g\u00e5r i Swap, falder dens ydeevne kraftigt. Spor af Ballooning og kompression forsvinder hurtigt, n\u00e5r der bliver tilstr\u00e6kkelig ledig RAM p\u00e5 v\u00e6rten, men VM'en skynder sig ikke tilbage fra Swap til serverens RAM. <br \/>\nIndtil ESXi 6.0 var den eneste p\u00e5lidelige og hurtige m\u00e5de at f\u00e5 VM'er ud af Swap p\u00e5 at genstarte (mere pr\u00e6cist slukke\/t\u00e6nde for containeren). Fra og med ESXi 6.0 er der dog udviklet en metode, der, selvom den ikke er helt officielt anerkendt, er b\u00e5de funktionel og p\u00e5lidelig til at f\u00e5 VM'er ud af Swap. P\u00e5 en af konferencerne fik jeg mulighed for at tale med en af VMware's ingeni\u00f8rer, der arbejder med CPU-scheduler. Han bekr\u00e6ftede, at metoden virker og er sikker. I vores erfaring har vi ikke oplevet problemer med den.<\/p>\n<p>De faktiske kommandoer til at f\u00e5 VM'er ud af Swap <noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/\">beskrev<\/a><\/noindex> Duncan Epping. Jeg vil ikke gentage den detaljerede beskrivelse, men blot give et eksempel p\u00e5 dens anvendelse. Som det fremg\u00e5r af sk\u00e6rmbillede, forsvinder Swap p\u00e5 VM'en efter et stykke tid efter at have k\u00f8rt den angivne kommando.<\/p>\n<p><img decoding=\"async\" alt=\"Analyse af VM-ydeevne i VMware vSphere. Del 2: Memory.\" src=\"\/wp-content\/uploads\/c60d03c59e115d48b209dadc25081c1e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Tips til administration af RAM p\u00e5 ESXi<\/h3>\n<p>\nTil slut vil jeg give nogle r\u00e5d, der kan hj\u00e6lpe dig med at undg\u00e5 ydeevneproblemer med VM'er p\u00e5 grund af RAM:<\/p>\n<ul>\n<li>Undg\u00e5 overtegnede RAM i produktionsklynger. Det anbefales altid at have ca. 20-30% fri hukommelse i klyngen, s\u00e5 DRS (og administratoren) har plads til at man\u00f8vrere, og at VM'er ikke g\u00e5r i Swap under migreringen. Glem heller ikke aflastningen for fejltolerance. Det er ubehageligt, n\u00e5r en server svigter, og VM'er skal genstartes ved hj\u00e6lp af HA, mens nogle maskiner ogs\u00e5 g\u00e5r i Swap.<\/li>\n<li>I infrastrukturer med h\u00f8j konsolidering b\u00f8r du undg\u00e5 at oprette VM'er med mere end halvdelen af v\u00e6rtens hukommelse. Dette vil igen hj\u00e6lpe DRS med uden problemer at fordele virtuelle maskiner mellem serverne i klyngen. Denne regel er selvf\u00f8lgelig ikke universel :).<\/li>\n<li>Hold \u00f8je med alarmen for v\u00e6rtens hukommelsesbrug.<\/li>\n<li>Husk at installere VMware Tools p\u00e5 VM'erne og deaktivere Ballooning.<\/li>\n<li>Overvej at aktivere Inter-VM TPS og deaktivere Store Sider i VDI-milj\u00f8er og testmilj\u00f8er.<\/li>\n<li>Hvis VM'en oplever ydeevneproblemer, skal du tjekke, om den bruger hukommelse fra en fjern NUMA-nod.<\/li>\n<li>F\u00e5 VM'er ud af Swap s\u00e5 hurtigt som muligt! Udover alt andet vil det, hvis VM'en er i Swap, \u00e5benbart p\u00e5virke lagerl\u00f8sningen.<\/li>\n<\/ul>\n<p>\nDet var alt, hvad jeg havde at sige om RAM. Nedenfor er artikler om emnet for dem, der \u00f8nsker at dykke dybere ned i detaljerne. Den n\u00e6ste artikel vil omhandle lager.<\/p>\n<p><b class=\"spoiler_title\">Nyttige 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>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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 af VM-ydeevne i VMware vSphere. Del 2: Hukommelse | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/35292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=35292"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/35292\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=35292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=35292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=35292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}