{"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\/sl\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","title":{"rendered":"Analiza performansi VM u VMware vSphere. Deo 2: Memorija","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" 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\/\">Cz\u0119\u015b\u0107 1. O CPU<\/a><\/noindex><\/p>\n<p>V tem \u010dlanku bomo govorili o merilnikih zmogljivosti pomnilnika (RAM) v vSphere.<br \/>\nZdi se, da je s pomnilnikom vse bolj enozna\u010dno kot s procesorjem: \u010de na VM pride do te\u017eav z zmogljivostjo, jih je te\u017eko spregledati. \u010ce se te\u017eave pojavijo, se jih je veliko te\u017eje re\u0161iti. A gremo po vrsti. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Nekaj teorije<\/h3>\n<p>\nPomnilnik virtualnih strojev se jemlje iz pomnilnika stre\u017enika, na katerem delujejo VM-ji. To je povsem o\u010ditno :). \u010ce pomnilnika na stre\u017eniku ne zado\u0161\u010da za vse potrebne, ESXi za\u010dne uporabljati tehnike optimizacije porabe pomnilnika (tehnike pridobivanja pomnilnika). V nasprotnem primeru bi se operacijski sistemi VM zru\u0161ili z napakami dostopa do RAM-a. <\/p>\n<p>Katere tehnike bo ESXi uporabil, se odlo\u010da glede na obremenitev pomnilnika:<\/p>\n<p><b>Stanje pomnilnika<\/b><\/p>\n<p><b>Meja<\/b><\/p>\n<p><b>Akcije<\/b><\/p>\n<p>Visoko<\/p>\n<p>400 % od minFree<\/p>\n<p>Ko je dose\u017eena zgornja meja, se velike strani pomnilnika razbijejo na manj\u0161e (TPS deluje v standardnem na\u010dinu).<\/p>\n<p>Po\u010disti<\/p>\n<p>100 % od minFree<\/p>\n<p>Velike strani pomnilnika se razbijejo na manj\u0161e, TPS deluje prisilno.<\/p>\n<p>Soft<\/p>\n<p>64 % od minFree<\/p>\n<p>TPS + Balloon<\/p>\n<p>Trda<\/p>\n<p>32 % od minFree<\/p>\n<p>TPS + Compress + Swap<\/p>\n<p>Low<\/p>\n<p>16 % od 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\/\">Source<\/a><\/noindex> <\/p>\n<p>minFree je pomnilnik, potreben za delovanje hipervizorja. <\/p>\n<p>Do ESXi 4.1 je bil minFree privzeto fiksiran \u2013 6 % od zmogljivosti pomnilnika stre\u017enika (percento se je dalo spremeniti preko mo\u017enosti Mem.MinFreePct na ESXi). V novej\u0161ih razli\u010dicah se je zaradi rasti koli\u010din pomnilnika na stre\u017enikih minFree za\u010delo izra\u010dunavati glede na koli\u010dino pomnilnika gostitelja, ne pa kot fiksna procentualna vrednost. <\/p>\n<p>Vrednost minFree (privzeto) se izra\u010duna na naslednji na\u010din:<\/p>\n<p><b>Procent pomnilnika, rezerviranega za minFree<\/b><\/p>\n<p><b>Obseg pomnilnika<\/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>Preostali pomnilnik<\/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\/\">Source<\/a><\/noindex><\/p>\n<p>Na primer, za stre\u017enik s 128 GB RAM je minFree naslednja:<br \/>\nMinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 MB = 1,88 GB <br \/>\nDejanska vrednost se lahko razlikuje za nekaj sto MB, odvisno od stre\u017enika in pomnilnika.<\/p>\n<p><b>Procent pomnilnika, rezerviranega za minFree<\/b><\/p>\n<p><b>Obseg pomnilnika<\/b><\/p>\n<p><b>Vrednost za 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>Preostali pomnilnik (100 GB)<\/p>\n<p>1024 MB<\/p>\n<p>\nObi\u010dajno za produktivne stojnice velja, da je normalno stanje le visoko. Za testne in razvojne stojnice so sprejemljiva stanja Clear\/Soft. \u010ce je na gostitelju ostalo manj kot 64 % MinFree, imajo VM-ji, ki delujejo na njem, gotovo te\u017eave z zmogljivostjo.<\/p>\n<p>V vsakem stanju se uporabljajo dolo\u010dene tehnike za pridobivanje pomnilnika, od TPS, ki prakti\u010dno ne vpliva na zmogljivost VM, do Swappinga. O njih bom podrobneje spregovoril. <\/p>\n<p><b>Transparentna delitev strani (TPS).<\/b> TPS je, preprosto re\u010deno, deduplikacija strani delovne pomnilnika virtualnih strojov na stre\u017eniku.<\/p>\n<p>ESXi i\u0161\u010de enake strani delovnega pomnilnika virtualnih strojev, pri \u010demer izra\u010duna in primerja hash obremenitev strani ter odstrani duplikate strani, jih zamenja z referencami na isto stran v fizi\u010dnem pomnilniku stre\u017enika. Tako se zmanj\u0161a poraba fizi\u010dnega pomnilnika in dose\u017ee dolo\u010dena prenova pomnilnika prakti\u010dno brez izgube zmogljivosti.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" 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\/\">Source<\/a><\/noindex><\/p>\n<p>Ta mehanizem deluje le za strani pomnilnika velikosti 4 Kb (majhne strani). Hiperkrmilnik niti ne posku\u0161a deduplikirati strani velikosti 2 Mb (velike strani), saj je verjetnost, da bi na\u0161el enake strani te velikosti, majhna.<\/p>\n<p>Privzeto ESXi dodeli pomnilnik velikim stranem. Razdelitev velikih strani na male se za\u010dne ob doseganju praga stanja High in se zgodi prisilno, ko se dose\u017ee stanje Clear (glejte tabelo stanj hipervizorja).<\/p>\n<p>\u010ce pa \u017eelite, da TPS za\u010dne delovati, ne da bi \u010dakal na napolnitev delovnega pomnilnika gostitelja, v raz\u0161irjenih mo\u017enostih ESXi nastavite vrednost <i>\u201cMem.AllocGuestLargePage\u201d<\/i> na 0 (privzeto 1). Tako bo dodeljevanje velikih strani pomnilnika za virtualne stroje onemogo\u010deno.<\/p>\n<p>Od decembra 2014 je v vseh razli\u010dicah ESXi TPS med VM privzeto onemogo\u010den, ker je bila ugotovljena ranljivost, ki teoreti\u010dno omogo\u010da dostop do delovnega pomnilnika druge VM iz ene VM. Podrobnosti tukaj. O prakti\u010dni uporabi ranljivosti TPS nisem zasledil informacij.<\/p>\n<p>Politika TPS se upravlja preko raz\u0161irjene mo\u017enosti <i>\u201cMem.ShareForceSalting\u201d<\/i> na ESXi:<br \/>\n0 \u2014 Inter-VM TPS. TPS deluje za strani razli\u010dnih VM;<br \/>\n1 \u2013 TPS za VM z enako vrednostjo \u201csched.mem.pshare.salt\u201d v VMX;<br \/>\n2 (privzeto) \u2013 Intra-VM TPS. TPS deluje za strani znotraj VM.<\/p>\n<p>Obvezno je smiselno izklopiti velike strani in omogo\u010diti Inter-VM TPS na testnih platformah. To se lahko uporablja tudi za platforme z veliko enakih VM. Na primer, na platformah z VDI lahko prihranek fizi\u010dnega pomnilnika dose\u017ee ve\u010d deset odstotkov. <\/p>\n<p><b>Pomnilni\u0161ko baloniranje.<\/b> Ballooning ni \u017ee ni tako nedol\u017ena in prozorna za operacijski sistem VM tehnika, kot je TPS. A ob pravilni uporabi lahko \u017eivimo in celo delamo z Ballooningom.<\/p>\n<p>Skupaj z Vmware Tools se na VM namesti poseben gonilnik, imenovan Balloon Driver (tudi vmmemctl). Ko hipervizorju za\u010dne primanjkovati fizi\u010dne pomnilnike in preide v stanje Soft, ESXi prosi VM, da vrne neuporabljeno operativno pomnilnik preko tega Balloon Driverja. Gonilnik na svojo stran deluje na ravni operacijskega sistema in od njega zahteva prost pomnilnik. Hipervizor vidi, katere strani fizi\u010dnega pomnilnika je zasedel Balloon Driver, vzame pomnilnik od virtualne naprave in ga vrne gostitelju. Te\u017eave z delovanjem OS ne nastanejo, saj je na ravni OS pomnilnik zaseden z Balloon Driverjem. Privzeto Balloon Driver lahko vzame do 65% pomnilnika VM.<\/p>\n<p>\u010ce na VM niso name\u0161\u010deni VMware Tools ali je Ballooning onemogo\u010den (ne priporo\u010dam, a je mo\u017eno <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/1002586\">KB<\/a><\/noindex>:), hipervizor takoj preide na ostrej\u0161e tehnike odvzema pomnilnika. Zaklju\u010dek: poskrbite, da bodo VMware Tools name\u0161\u010deni na VM.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/884df6a7f5610d9bb372a7c34558f280.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Delovanje Balloon Driverja lahko preverite iz OS preko VMware Tools.<\/i>.<\/p>\n<p><b>Stiskanje pomnilnika.<\/b> Ta tehnika se uporablja, ko ESXi dose\u017ee stanje Hard. Kot pove \u017ee ime, ESXi posku\u0161a stisniti 4 Kbyte strani operativne pomnilnika na 2 Kbyte in tako osvoboditi malo prostora v fizi\u010dnem pomnilniku stre\u017enika. Ta tehnika znatno pove\u010da \u010das dostopa do vsebine strani operativne pomnilnika VM, saj je treba stran prej raz\u0161iriti. V\u010dasih se ne vse strani uspe stisniti in sam postopek traja nekaj \u010dasa. Zato ta tehnika v praksi ni zelo u\u010dinkovita.<\/p>\n<p><b>Zamenjava pomnilnika.<\/b> Po kratkem obdobju stiskanja pomnilnika ESXi skoraj neizogibno (\u010de VM niso od\u0161le na druge gostitelje ali se niso izklopile) preide na zamenjavo. In \u010de pomnilnika zares malo ostane (stanje Low), hipervizor preneha dodeljevati VM strani pomnilnika, kar lahko povzro\u010di te\u017eave v gostujo\u010dih OS VM.<\/p>\n<p>Tako deluje Swapping. Ko se aktivira virtualni stroj, se ustvari datoteka z raz\u0161iritvijo .vswp. Njena velikost ustreza neza\u0161\u010denemu delovnemu pomnilniku VM: to je razlika med konfiguriranim in rezerviranim pomnilnikom. Med delovanjem Swappinga ESXi prenese strani pomnilnika virtualnega stroja v to datoteko in za\u010dne delovati z njo namesto s fizi\u010dnim pomnilnikom stre\u017enika. Seveda je tak\u0161na 'operativna' pomnilnost veliko po\u010dasnej\u0161a od prave, tudi \u010de .vswp le\u017ei na hitrem shranjevanju.<\/p>\n<p>Za razliko od Ballooninga, ko se VM odvzamejo neizkori\u0161\u010dene strani, lahko pri Swappingu na disk preidejo strani, ki jih aktivno uporablja OS ali aplikacije znotraj VM. Posledi\u010dno se zmogljivost VM zmanj\u0161a, vse do zamrznitve. VM formalno deluje in jo je vsaj mogo\u010de pravilno izklopiti iz OS. \u010ce boste potrpe\u017eljivi \ud83d\ude09<\/p>\n<p>\u010ce je VM pre\u0161la v Swap \u2014 je to izredna situacija, ki ji je bolje prepre\u010diti, kolikor je mogo\u010de.<\/p>\n<h3>Glavni kazalniki zmogljivosti pomnilnika virtualnega stroja<\/h3>\n<p>\nPravkar smo pri\u0161li do glavnega. Za spremljanje stanja pomnilnika v VM obstajajo naslednji kazalniki:<\/p>\n<p><b>Active<\/b> \u2014 prikazuje obseg delovnega pomnilnika (KB), do katerega je VM imela dostop v prej\u0161njem merilnem obdobju.<\/p>\n<p><b>Usage<\/b> \u2014 enako kot Active, vendar v odstotkih od konfiguriranega delovnega pomnilnika VM. Izra\u010duna se po naslednji formuli: active \u00f7 velikost konfiguriranega pomnilnika virtualnega stroja.<br \/>\nVisok Usage in Active nista nujno pokazatelja te\u017eav z zmogljivostjo VM. \u010ce VM agresivno uporablja pomnilnik (vsaj dostopa do njega), to ne pomeni, da pomnilnik primanjkuje. Raje je to razlog, da pogledate, kaj se dogaja v OS.<br \/>\nObstaja standardni Alarm za Memory Usage za VM:<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/073132b332da79be15e3bedf2c66cf94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Skupna<\/b> \u2014 obseg delovnega pomnilnika VM, dedupliciran s pomo\u010djo TPS (znotraj VM ali med VM).<\/p>\n<p><b>Granted<\/b> \u2014 obseg fizi\u010dnega pomnilnika gostitelja (KB), ki je bil dodeljen VM. Vklju\u010duje Shared.<\/p>\n<p><b>Consumed<\/b> (Granted \u2014 Shared) \u2014 obseg fizi\u010dnega pomnilnika (KB), ki ga VM porabi s gostitelja. Ne vklju\u010duje Shared.<\/p>\n<p>\u010ce del pomnilnika VM ne izhaja iz fizi\u010dnega pomnilnika gostitelja, ampak iz swap datoteke ali je pomnilnik odvzet VM preko Balloon Driverja, ta obseg ni upo\u0161tevan v Granted in Consumed.<br \/>\nVisoka vrednost Granted in Consumed je povsem normalna. Operacijski sistem postopoma odvzema spomin hipervizorju in ga ne vra\u010da. S\u010dasoma se pri aktivni VM vrednosti teh merilnikov pribli\u017eajo prostornini konfigurirane pomnilnika in tam ostanejo.<\/p>\n<p><b>Zero<\/b> \u2014 koli\u010dina delovnega pomnilnika VM (Kbyte), ki vsebuje ni\u010dle. Tak\u0161en pomnilnik hipervizor obravnava kot prost in ga lahko dodeli drugim virtualnim strojema. Ko operacijski sistem gostitelja zapi\u0161e kaj v ponastavljeni pomnilnik, preide v Consumed in se nazaj ne vrne.<\/p>\n<p><b>Reserved Overhead<\/b> \u2014 koli\u010dina delovnega pomnilnika VM (Kbyte), ki jo hipervizor rezervira za delovanje VM. To je majhna koli\u010dina, vendar mora obstajati na gostitelju, sicer VM ne bo zagnan.<\/p>\n<p><b>Balloon<\/b> \u2014 koli\u010dina delovnega pomnilnika (Kbyte), ki je bila odvzeta VM s pomo\u010djo Balloon Driverja.<\/p>\n<p><b>Compressed<\/b> \u2014 koli\u010dina delovnega pomnilnika (Kbyte), ki jo je uspelo stisniti.<\/p>\n<p><b>Swapped<\/b> \u2014 koli\u010dina delovnega pomnilnika (Kbyte), ki je zaradi pomanjkanja fizi\u010dnega pomnilnika na stre\u017eniku pre\u0161la na disk.<br \/>\nBalloon in ostale merilnike tehnik vra\u010danja pomnilnika so enake ni\u010d.<\/p>\n<p>Tako izgleda graf s \u0161tevilkami Memory normalno delujo\u010de VM s 150 GB delovnega pomnilnika.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/4c361a407581b24fc042c91a6d76aa68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa grafu spodaj ima VM o\u010ditne te\u017eave. Pod grafom je razvidno, da so za to VM bile uporabljene vse opisane tehnike dela z delovnim pomnilnikom. Balloon za to VM je bistveno ve\u010dji od Consumed. Dejansko je VM bolj mrtva kot \u017eiva. <\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/fcc8f196fc7d158e82de4737c5ebe776.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>ESXTOP<\/h3>\n<p>\nKot pri CPU, \u010de \u017eelimo hitro oceniti situacijo na gostitelju in njeno dinamiko s \u010dasovnim intervalom do 2 sekund, je smiselno uporabiti ESXTOP.<\/p>\n<p>Zaslon ESXTOP za Memory se aktivira s tipko 'm' in izgleda takole (izbrane so polja B, D, H, J, K, L, O):<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/27383c357fb351bbe8353abf3b08171e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZanimali nas bodo naslednji parametri: <\/p>\n<p><b>Mem overcommit avg<\/b> \u2014 povpre\u010dna vrednost preobremenitve pomnilnika na gostitelju v zadnjem 1, 5 in 15 minutah. \u010ce je vi\u0161ja od ni\u010d, je to razlog za razmislek o tem, kaj se dogaja, vendar ne vedno dokazuje obstoj te\u017eav.<\/p>\n<p>V vrsticah <b>PMEM\/MB<\/b> in <b>VMKMEM\/MB<\/b> \u2014 informacije o fizi\u010dnem pomnilniku stre\u017enika in pomnilniku, dostopnem VMkernelu. Interesantno je videti vrednost minfree (v MB), stanje gostitelja glede pomnilnika (v na\u0161em primeru, visoko).<\/p>\n<p>V vrstici <b>NUMA\/MB<\/b> lahko vidimo razporeditev delovnega pomnilnika po NUMA vozlih (soketih). V tem primeru razporeditev ni enakomerna, kar na\u010deloma ni dobro.<\/p>\n<p>Nasledije daje op\u0161te statistike o serveru o tehnikama vra\u0107anja memorije:<\/p>\n<p><b>PSHARE\/MB<\/b> \u2014 to je TPS statistika;<\/p>\n<p><b>SWAP\/MB<\/b> \u2014 statistika kori\u0161\u0107enja Swap-a;<\/p>\n<p><b>ZIP\/MB<\/b> \u2014 statistika kompresije stranica memorije;<\/p>\n<p><b>MEMCTL\/MB<\/b> \u2014 statistika kori\u0161\u0107enja Balloon Driver-a.<\/p>\n<p>Za svaku VM, mo\u017eemo biti zainteresovani za slede\u0107e informacije. Imena VM sam sakrio, kako ne bih zbunio publiku :). Ako je metrika ESXTOP sli\u010dna broja\u010du u vSphere, navodim odgovaraju\u0107i broja\u010d. <\/p>\n<p><b>MEMSZ<\/b> \u2014 ukupna memorija, konfigurirana za VM (MB).<br \/>\nMEMSZ = GRANT + MCTLSZ + SWCUR + untouched.<\/p>\n<p><b>GRANT<\/b> \u2014 Granted u MB.<\/p>\n<p><b>TCHD<\/b> \u2014 Active u MB.<\/p>\n<p><b>MCTL?<\/b> \u2014 da li je na VM-u postavljen Balloon Driver.<\/p>\n<p><b>MCTLSZ<\/b> \u2014 Balloon u MB.<\/p>\n<p><b>MCTLGT<\/b> \u2014 koli\u010dina RAM-a (MB), koju ESXi \u017eeli da oduzme od VM-a putem Balloon Driver-a (Memctl Target).<\/p>\n<p><b>MCTLMAX<\/b> \u2014 maksimalna koli\u010dina RAM-a (MB), koju ESXi mo\u017ee oduzeti od VM-a putem Balloon Driver-a.<\/p>\n<p><b>SWCUR<\/b> \u2014 trenutna koli\u010dina RAM-a (MB), koja je data VM-u iz Swap fajla. <\/p>\n<p><b>SWGT<\/b> \u2014 koli\u010dina RAM-a (MB), koju ESXi \u017eeli da daje VM-u iz Swap fajla (Swap Target).<\/p>\n<p>Tako\u0111e, putem ESXTOP-a mo\u017eete pogledati detaljnije informacije o NUMA topologiji VM-a. Za to treba odabrati polja D,G:<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/3fde4ab9d54c709f66313020437255c2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>NHN<\/b> \u2013 NUMA \u010dvorovi na kojima je sme\u0161ten VM. Ovde se odmah mogu primetiti \u0161iroki VM-ovi, koji ne mogu stati na jedan NUMA \u010dvor.<\/p>\n<p><b>NRMEM<\/b> \u2013 koliko megabajta memorije VM uzima sa udaljenog NUMA \u010dvora.<\/p>\n<p><b>NLMEM<\/b> \u2013 koliko megabajta memorije VM uzima sa lokalnog NUMA \u010dvora.<\/p>\n<p><b>N%L<\/b> \u2013 procenat memorije VM na lokalnom NUMA \u010dvoru (ako je manje od 80% \u2014 mogu se javiti problemi sa performansama).<\/p>\n<h3>Memorija na hipervizoru<\/h3>\n<p>\nAko CPU broja\u010di na hipervizoru obi\u010dno ne predstavljaju poseban interes, situacija sa memorijom je suprotna. Visoka potro\u0161nja memorije na VM-u ne zna\u010di uvek da postoji problem sa performansama, ali visoka potro\u0161nja memorije na hipervizoru pokre\u0107e tehnike upravljanja memorijom i izaziva probleme sa performansama VM-a. Potrebno je pratiti alarmirane Host Memory Usage i ne dozvoliti da VM do\u0111e u Swap.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/27931f9a8607000dc9a7ca483c03ad68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/4a1c0d6199a340dd62e5c923611ddd6e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Unswap<\/h3>\n<p>\nAko VM do\u0111e u Swap, njena performansa se zna\u010dajno smanjuje. Tragovi Ballooning-a i kompresije brzo nestaju nakon \u0161to se slobodna RAM na hostu pojavi, ali vra\u0107anje iz Swapa u RAM servera virtuelna ma\u0161ina ne \u017euri. <br \/>\nDo razli\u010dice ESXi 6.0 je bil edini zanesljiv in hiter na\u010din za izhod VM iz Swap-a ponovno zagon (natan\u010dneje izklop\/ vklop kontejnerja). Za\u010den\u0161i z ESXi 6.0 se je pojavil \u0161e ne popolnoma uraden, a delujo\u010d in zanesljiv na\u010din za izhod VM iz Swap-a. Na eni izmed konferenc sem imel prilo\u017enost govoriti z enim od in\u017eenirjev VMware, ki je odgovoren za CPU Scheduler. Potrdil je, da je metoda povsem delujo\u010da in varna. V na\u0161em primeru nismo imeli te\u017eav z njo.<\/p>\n<p>Dejansko ukaz za izhod VM iz Swap-a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/\">opisal<\/a><\/noindex> Duncan Epping. Ne bom ponavljal podrobnega opisa, samo navedel bom primer njene uporabe. Kot je razvidno na posnetku zaslona, po dolo\u010denem \u010dasu po izvedbi navedenega ukaza Swap na VM izgine.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Deo 2: Memorija\" src=\"\/wp-content\/uploads\/c60d03c59e115d48b209dadc25081c1e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Nasveti za upravljanje z operativno pomnilnikom v ESXi<\/h3>\n<p>\nNa koncu bom navedel nekaj nasvetov, ki vam bodo pomagali prepre\u010diti te\u017eave s hitrostjo VM zaradi operativne pomnilnika:<\/p>\n<ul>\n<li>Ne dovolite preseganja po operativni pomnilniki v produkcijskih grozdih. Priporo\u010dljivo je, da imate vedno ~20-30% prostega pomnilnika v grozdu, da ima DRS (in administrator) prostor za manevriranje, in da med migracijo VM ne bi \u0161li v Swap. Poleg tega ne pozabite na rezervo za odpornost na napake. Ni prijetno, ko pri okvari enega stre\u017enika in ponovnem zagonu VM s pomo\u010djo HA del dela strojev \u0161e gre v Swap.<\/li>\n<li>V infrastrukturah z visoko konsolidacijo se trudite NE ustvariti VM z ve\u010d pomnilnika kot polovico pomnilnika gostitelja. To ponovno pomaga DRS, da brez te\u017eav porazdeli virtualne stroje po stre\u017enikih grozda. To pravilo, seveda, ni univerzalno :).<\/li>\n<li>Spremljajte alarma za uporabo pomnilnika gostitelja.<\/li>\n<li>Ne pozabite namestiti VMware Tools na VM in ne izklapljajte Ballooninga.<\/li>\n<li>Razmislite o mo\u017enosti vklju\u010ditve Inter-VM TPS in izklopa Large Pages v okoljih z VDI in testnih okoljih.<\/li>\n<li>\u010ce VM do\u017eivlja te\u017eave s hitrostjo, preverite, ali uporablja pomnilnik z oddaljene NUMA-node.<\/li>\n<li>Izvajajte VM iz Swap-a \u010dim hitreje! Poleg vsega, \u010de je VM v Swap-u, o\u010ditno trpi tudi SHR.<\/li>\n<\/ul>\n<p>\nTukaj je vse glede operativne pomnilnika. Spodaj so \u010dlanki na to temo za tiste, ki \u017eelijo poglobiti podrobnosti. Naslednji \u010dlanek bo posve\u010den shranjevanju.<\/p>\n<p><b class=\"spoiler_title\">Koristne poveznice<\/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>Izvor: <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.4 - 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\/sl\/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.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/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\udd47Analiza delovanja VM v VMware vSphere. Del 2: Pomnilnik | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/35292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=35292"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/35292\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=35292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=35292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=35292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}