{"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\/hr\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","title":{"rendered":"Analiza performansi VM u VMware vSphere. Dio 2: Memorija","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 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\/\">Dio 1. O CPU-u<\/a><\/noindex><\/p>\n<p>U ovom \u010dlanku govorimo o pokazateljima performansi radne memorije (RAM) u vSphere.<br \/>\n\u010cini se da je s memorijom sve jasnije nego s procesorom: ako na VM-ovima do\u0111e do problema s performansama, te\u0161ko ih je ne primijetiti. No, kada se pojave, mnogo je te\u017ee rije\u0161iti ih. Ali idemo redom. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Malo teorije<\/h3>\n<p>\nRadna memorija virtualnih ma\u0161ina dolazi iz memorije poslu\u017eitelja na kojem su VM-ovi pokrenuti. To je sasvim o\u010dito :). Ako radne memorije poslu\u017eitelja nije dovoljno za sve koji je zahtijevaju, ESXi po\u010dinje primjenjivati tehnike optimizacije potro\u0161nje radne memorije (tehnike povrata memorije). Ina\u010de bi operativni sustavi VM-a padali s gre\u0161kama pristupa RAM-u. <\/p>\n<p>Koje tehnike primijeniti ESXi odlu\u010duje na temelju optere\u0107enja radne memorije:<\/p>\n<p><b>Stanje memorije<\/b><\/p>\n<p><b>Granica<\/b><\/p>\n<p><b>Radnje<\/b><\/p>\n<p>Visoko<\/p>\n<p>400% od minFree<\/p>\n<p>Nakon dostizanja gornje granice, velike stranice memorije se razbijaju na male (TPS radi u standardnom na\u010dinu rada).<\/p>\n<p>O\u010distiti<\/p>\n<p>100% od minFree<\/p>\n<p>Velike stranice memorije se razbijaju na male, TPS radi prisilno.<\/p>\n<p>Soft<\/p>\n<p>64% od minFree<\/p>\n<p>TPS + Balloon<\/p>\n<p>Hard<\/p>\n<p>32% od minFree<\/p>\n<p>TPS + Compress + Swap<\/p>\n<p>Nisko<\/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\/\">Izvor<\/a><\/noindex> <\/p>\n<p>minFree je radna memorija potrebna za rad hipervizora. <\/p>\n<p>Do ESXi 4.1 uklju\u010divo minFree je po zadanom bio fiksiran \u2014 6% od volumena radne memorije poslu\u017eitelja (postotak se mogao promijeniti putem opcije Mem.MinFreePct na ESXi). U novijim verzijama zbog rasta volumena memorije na poslu\u017eiteljima, minFree se po\u010delo izra\u010dunavati na temelju volumena memorije doma\u0107ina, a ne kao fiksna postotna vrijednost. <\/p>\n<p>Vrijednost minFree (po zadanom) izra\u010dunava se na sljede\u0107i na\u010din:<\/p>\n<p><b>Postotak memorije rezervirane za minFree<\/b><\/p>\n<p><b>Raspon memorije<\/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>Preostala memorija<\/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\/\">Izvor<\/a><\/noindex><\/p>\n<p>Na primjer, za poslu\u017eitelj s 128 GB RAM-a, vrijednost MinFree bit \u0107e ovakva:<br \/>\nMinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 MB = 1,88 GB <br \/>\nStvarna vrijednost mo\u017ee se razlikovati za nekoliko stotina MB, ovisno o poslu\u017eitelju i radnoj memoriji.<\/p>\n<p><b>Postotak memorije rezervirane za minFree<\/b><\/p>\n<p><b>Raspon memorije<\/b><\/p>\n<p><b>Vrijednost 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>Preostala memorija (100 GB)<\/p>\n<p>1024 MB<\/p>\n<p>\nObi\u010dno se za produkcijske postavke samo stanje High mo\u017ee smatrati normalnim. Za postavke za testiranje i razvoj, prihvatljiva mogu biti stanja Clear\/Soft. Ako je na hostu ostalo manje od 64% MinFree, tada \u0107e VM-ovi koji na njemu rade sigurno pokazivati probleme s performansama.<\/p>\n<p>U svakom stanju primjenjuju se odre\u0111ene tehnike vra\u0107anja memorije, po\u010dev\u0161i od TPS-a, koji prakti\u010dki ne utje\u010de na performanse VM-a, do swappinga. O njima \u0107u govoriti detaljnije. <\/p>\n<p><b>Transparent Page Sharing (TPS).<\/b> TPS je, pojednostavljeno, dedupliciranje stranica radne memorije virtualnih ma\u0161ina na serveru.<\/p>\n<p>ESXi tra\u017ei identi\u010dne stranice radne memorije virtualnih ma\u0161ina uspore\u0111uju\u0107i i porede\u0107i hash vrijednosti stranica, a zatim uklanja duplikate stranica zamjenjuju\u0107i ih referencama na istu stranicu u fizi\u010dkoj memoriji servera. Kao rezultat, potro\u0161nja fizi\u010dke memorije se smanjuje i mo\u017ee se posti\u0107i odre\u0111ena prezahtijevanja memorije prakti\u010dki bez smanjenja performansi.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 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\/\">Izvor<\/a><\/noindex><\/p>\n<p>Ovaj mehanizam radi samo za stranice memorije veli\u010dine 4 KB (male stranice). Hipervizor ne poku\u0161ava deduplicirati stranice veli\u010dine 2 MB (velike stranice) jer je vjerojatnost pronalaska identi\u010dnih stranica te veli\u010dine mala.<\/p>\n<p>Prema zadanim postavkama, ESXi dodjeljuje memoriju velikim stranicama. Razdvajanje velikih stranica na male po\u010dinje kada se dostigne prag stanja High i doga\u0111a se prisilno kada se dostigne stanje Clear (vidi tablicu stanja hipervizora).<\/p>\n<p>Ako \u017eelite da TPS po\u010dne raditi bez \u010dekanja na ispunjenje radne memorije hosta, trebate postaviti vrijednost <i>\u201cMem.AllocGuestLargePage\u201d<\/i> na 0 (prema zadanim postavkama 1). Tada \u0107e dodjeljivanje velikih stranica memorije za virtualne ma\u0161ine biti onemogu\u0107eno.<\/p>\n<p>Od prosinca 2014. u svim izdanjima ESXi, TPS izme\u0111u VM-a je prema zadanim postavkama isklju\u010den, jer je prona\u0111ena ranjivost koja teoretski omogu\u0107ava pristup radnoj memoriji jedne VM kroz drugu VM. Detalji ovdje. Informacije o prakti\u010dnoj realizaciji iskori\u0161tavanja ranjivosti TPS nisam nalazio.<\/p>\n<p>Politika TPS kontrolira se preko napredne opcije <i>\u201cMem.ShareForceSalting\u201d<\/i> na ESXi:<br \/>\n0 \u2014 Inter-VM TPS. TPS radi za stranice razli\u010ditih VM-a;<br \/>\n1 \u2013 TPS za VM s istom vrijedno\u0161\u0107u \u201csched.mem.pshare.salt\u201d u VMX-u;<br \/>\n2 (prema zadanim postavkama) \u2013 Intra-VM TPS. TPS radi za stranice unutar VM-a.<\/p>\n<p>Definitivno ima smisla isklju\u010diti velike stranice i uklju\u010diti Inter-VM TPS na testnim okru\u017eenjima. Tako\u0111er se mo\u017ee koristiti za okru\u017eenja s velikim brojem sli\u010dnih VM-a. Na primjer, na okru\u017eenjima s VDI, u\u0161teda fizi\u010dke memorije mo\u017ee dose\u0107i desetke posto. <\/p>\n<p><b>Memory Ballooning.<\/b> Ballooning vi\u0161e nije toliko bezopasan i proziran tehnika za operacijski sustav VM kao TPS. Me\u0111utim, uz pravilnu primjenu, Ballooning mo\u017ee biti funkcionalan i \u010dak koristan.<\/p>\n<p>Uz VMware Tools na VM-u instalira se posebni upravlja\u010dki program poznat kao Balloon Driver (tako\u0111er vmmemctl). Kada hipervizoru ponestane fizi\u010dke memorije i pre\u0111e u stanje Soft, ESXi tra\u017ei od VM-a da vrati neiskori\u0161tenu RAM putem ovog Balloon Drivera. Upravlja\u010dki program, s druge strane, radi na razini operacijskog sustava i tra\u017ei slobodnu memoriju od njega. Hipervizor vidi koje stranice fizi\u010dke memorije je zauzeo Balloon Driver, uzima memoriju od virtualne ma\u0161ine i vra\u0107a je hostu. Problemi s radom OS-a se ne javljaju, jer je na razini OS-a memorija zauzeta od strane Balloon Drivera. Prema zadanim postavkama, Balloon Driver mo\u017ee uzeti do 65% memorije VM-a.<\/p>\n<p>Ako na VM-u nisu instalirani VMware Tools ili je Ballooning isklju\u010den (ne preporu\u010dujem, ali postoji <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/1002586\">KB<\/a><\/noindex>:), hipervizor odmah prelazi na rigorozniju tehniku uzimanja memorije. Zaklju\u010dak: pazite da VMware Tools budu prisutni na VM-u.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 2: Memorija\" src=\"\/wp-content\/uploads\/884df6a7f5610d9bb372a7c34558f280.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Rad Balloon Drivera mo\u017ee se provjeriti iz OS-a putem VMware Tools<\/i>.<\/p>\n<p><b>Memory Compression.<\/b> Ova tehnika se primjenjuje kada ESXi do\u0111e do stanja Hard. Kao \u0161to naziv sugerira, ESXi poku\u0161ava komprimirati 4 KB stranice RAM-a na 2 KB, \u010dime se osloba\u0111a malo prostora u fizi\u010dkoj memoriji servera. Ova tehnika zna\u010dajno pove\u0107ava vrijeme pristupa sadr\u017eaju stranica RAM-a VM-a, jer je potrebno prvo dekomprimirati stranicu. Ponekad nije mogu\u0107e komprimirati sve stranice, a sam proces traje odre\u0111eno vrijeme. Stoga ova tehnika u praksi nije vrlo u\u010dinkovita.<\/p>\n<p><b>Memory Swapping.<\/b> Nakon kratke faze Memory Compression, ESXi prakti\u010dki neizbje\u017eno (osim ako VM-i nisu preba\u010deni na druge hostove ili isklju\u010deni) prelazi na Swapping. A ako ostane vrlo malo memorije (stanje Low), hipervizor tako\u0111er prestaje dodjeljivati VM-ima stranice memorije, \u0161to mo\u017ee izazvati probleme u gostuju\u0107im OS-ima VM-a.<\/p>\n<p>Evo kako radi Swapping. Kada se uklju\u010duje virtualna ma\u0161ina, za nju se kreira datoteka s ekstenzijom .vswp. Po veli\u010dini je jednaka nerezerviranoj radnoj memoriji VM-a: to je razlika izme\u0111u konfigurirane i rezervirane memorije. Kada je Swapping aktivan, ESXi premje\u0161ta stranice memorije virtualne ma\u0161ine u ovu datoteku i po\u010dinje raditi s njom umjesto s fizi\u010dkom memorijom poslu\u017eitelja. Naravno, takva \u201eradna\u201c memorija je nekoliko puta sporija od prave, \u010dak i ako se .vswp nalazi na brzom pohranu.<\/p>\n<p>Za razliku od Ballooninga, kada VM oduzima neiskori\u0161tene stranice, prilikom Swappinga na disk mogu pre\u0107i stranice koje aktivno koristi OS ili aplikacije unutar VM-a. Kao rezultat, performanse VM-a naglo opadaju, \u010dak do zastoja. VM formalno radi i mo\u017ee se ispravno isklju\u010diti iz OS-a. Ako budete strpljivi \ud83d\ude09<\/p>\n<p>Ako su VM-ovi pre\u0161li u Swap \u2014 to je nepravilna situacija koju je najbolje izbje\u0107i kada god je to mogu\u0107e.<\/p>\n<h3>Glavni pokazatelji performansi memorije virtualne ma\u0161ine<\/h3>\n<p>\nEvo, stigli smo do glavnog. Za pra\u0107enje statusa memorije u VM-u postoje sljede\u0107i pokazatelji:<\/p>\n<p><b>Aktivno<\/b> \u2014 pokazuje koli\u010dinu radne memorije (KB) kojoj je VM imala pristup u prethodnom mjerodavnom razdoblju.<\/p>\n<p><b>Kori\u0161tenje<\/b> \u2014 isto kao Aktivno, ali u postocima od konfigurirane radne memorije VM-a. Izra\u010dunava se prema sljede\u0107oj formuli: active \u00f7 virtual machine configured memory size.<br \/>\nVisok Usage i Aktivno, prema tome, ne ukazuju uvijek na probleme s performansama VM-a. Ako VM agresivno koristi memoriju (barem, ima pristup), to ne zna\u010di da joj nedostaje memorije. Radije je to prilika da provjerite \u0161to se doga\u0111a unutar OS-a.<br \/>\nPostoji standardni Alarm za Kori\u0161tenje Memorije za VM:<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 2: Memorija\" src=\"\/wp-content\/uploads\/073132b332da79be15e3bedf2c66cf94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Dijeljeni<\/b> \u2014 koli\u010dina radne memorije VM-a, deduplirane pomo\u0107u TPS (unutar VM-a ili izme\u0111u VM-ova).<\/p>\n<p><b>Odobreno<\/b> \u2014 koli\u010dina fizi\u010dke memorije poslu\u017eitelja (KB), koja je dodijeljena VM-u. Uklju\u010duje Shared.<\/p>\n<p><b>Potro\u0161eno<\/b> (Odobreno \u2014 Shared) \u2014 koli\u010dina fizi\u010dke memorije (KB) koju VM tro\u0161i s poslu\u017eitelja. Ne uklju\u010duje Shared.<\/p>\n<p>Ako dio memorije VM-a dolazi ne iz fizi\u010dke memorije poslu\u017eitelja, ve\u0107 iz swap datoteke ili je memorija oduzeta od VM-a putem Balloon Driver-a, ta koli\u010dina se ne uzima u obzir u Odobreno i Potro\u0161eno.<br \/>\nVisoke vrijednosti Granted i Consumed su potpuno normalne. Operativni sustav postupno uzima memoriju od hipervizora i ne vra\u0107a je natrag. S vremenom, kod aktivne VM, vrijednosti ovih brojila se pribli\u017eavaju volumenu konfigurirane memorije i tamo ostaju.<\/p>\n<p><b>Nula<\/b> \u2014 volumen radne memorije VM (KB), koji sadr\u017ei nule. Ova memorija se smatra slobodnom od strane hipervizora i mo\u017ee se dodijeliti drugim virtualnim strojevima. Nakon \u0161to operativni sustav gosta zapi\u0161e ne\u0161to u nulti memoriju, prelazi u Consumed i vi\u0161e se ne vra\u0107a.<\/p>\n<p><b>Reserved Overhead<\/b> \u2014 volumen radne memorije VM (KB) rezerviran od strane hipervizora za rad VM. To je mali volumen, ali mora biti prisutan na hostu, ina\u010de VM ne\u0107e krenuti.<\/p>\n<p><b>Balloon<\/b> \u2014 volumen radne memorije (KB), koji je oduzet od VM putem Balloon Drivera.<\/p>\n<p><b>Compressed<\/b> \u2014 volumen radne memorije (KB) koji je uspjelo komprimirati.<\/p>\n<p><b>Swapped<\/b> \u2014 volumen radne memorije (KB) koja je, zbog nedostatka fizi\u010dke memorije na serveru, pre\u0161la na disk.<br \/>\nBalloon i ostali brojitelji tehnika povrata memorije su jednaki nuli.<\/p>\n<p>Ovako izgleda grafikon s brojiteljima normalno rade\u0107e VM s 150 GB radne memorije.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 2: Memorija\" src=\"\/wp-content\/uploads\/4c361a407581b24fc042c91a6d76aa68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa grafu ispod, VM ima jasne probleme. Ispod grafa, vidi se da su za ovu VM kori\u0161tene sve opisane tehnike rada s radnom memorijom. Balloon za ovu VM je puno ve\u0107i od Consumed. U praksi, VM je vi\u0161e mrtva nego \u017eiva. <\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 2: Memorija\" src=\"\/wp-content\/uploads\/fcc8f196fc7d158e82de4737c5ebe776.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>ESXTOP<\/h3>\n<p>\nKao i s CPU-om, ako \u017eelimo brzo procijeniti situaciju na hostu, kao i njenu dinamiku u intervalu do 2 sekunde, vrijedi koristiti ESXTOP.<\/p>\n<p>Ekran ESXTOP za Memoriju poziva se tipkom \u201em\u201c i izgleda ovako (odabrana polja B,D,H,J,K,L,O):<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 2: Memorija\" src=\"\/wp-content\/uploads\/27383c357fb351bbe8353abf3b08171e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInteresantni za nas bit \u0107e sljede\u0107i parametri: <\/p>\n<p><b>Mem overcommit avg<\/b> \u2014 prosje\u010dna vrijednost prekomjerno dodijeljene memorije na hostu tijekom 1, 5 i 15 minuta. Ako je iznad nule, to je razlog da provjerimo \u0161to se doga\u0111a, no to ne mora uvijek zna\u010diti prisutnost problema.<\/p>\n<p>U redovima <b>PMEM\/MB<\/b> i <b>VMKMEM\/MB<\/b> \u2014 informacije o fizi\u010dkoj memoriji servera i memoriji dostupnoj VMkernelu. Od zanimljivosti ovdje mo\u017eemo vidjeti vrijednost minfree (u MB), stanje hosta prema memoriji (u na\u0161em slu\u010daju, visoko).<\/p>\n<p>U retku <b>NUMA\/MB<\/b> mo\u017eemo vidjeti raspodjelu radne memorije po NUMA \u010dvorovima (socketima). U ovom primjeru, raspodjela nije ravnomjerna, \u0161to u na\u010delu nije dobro.<\/p>\n<p>Dalje se nalazi op\u0107a statistika poslu\u017eitelja o tehnikama povrata memorije:<\/p>\n<p><b>PSHARE\/MB<\/b> \u2014 to je statistika TPS;<\/p>\n<p><b>SWAP\/MB<\/b> \u2014 statistika kori\u0161tenja Swap-a;<\/p>\n<p><b>ZIP\/MB<\/b> \u2014 statistika kompresije memorijske stranice;<\/p>\n<p><b>MEMCTL\/MB<\/b> \u2014 statistika kori\u0161tenja Balloon Driver-a.<\/p>\n<p>Mo\u017ee nas zanimati sljede\u0107a informacija o pojedina\u010dnim VM-ovima. Imena VM-ova sam sakrio kako ne bih zbunio publiku :). Ako je ESXTOP metriku mogu\u0107e usporediti s broja\u010dem u vSphere, navodim odgovaraju\u0107i broja\u010d. <\/p>\n<p><b>MEMSZ<\/b> \u2014 koli\u010dina memorije konfigurirane na VM-u (MB).<br \/>\nMEMSZ = GRANT + MCTLSZ + SWCUR + untouched.<\/p>\n<p><b>GRANT<\/b> \u2014 Granted u megabajtima.<\/p>\n<p><b>TCHD<\/b> \u2014 Active u megabajtima.<\/p>\n<p><b>MCTL?<\/b> \u2014 je li Balloon Driver postavljen na VM-u.<\/p>\n<p><b>MCTLSZ<\/b> \u2014 Balloon u megabajtima.<\/p>\n<p><b>MCTLGT<\/b> \u2014 koli\u010dina RAM-a (MB) koju ESXi \u017eeli uzeti 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 uzeti od VM-a putem Balloon Driver-a.<\/p>\n<p><b>SWCUR<\/b> \u2014 trenutna koli\u010dina RAM-a (MB) dodijeljena VM-u iz Swap datoteke. <\/p>\n<p><b>SWGT<\/b> \u2014 koli\u010dina RAM-a (MB) koju ESXi \u017eeli dodijeliti VM-u iz Swap datoteke (Swap Target).<\/p>\n<p>Tako\u0111er putem ESXTOP-a mo\u017ee se pogledati detaljnije informacije o NUMA topologiji VM-a. Za to je potrebno odabrati polja D,G:<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 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 se nalaze VM-ovi. Ovdje se odmah mo\u017ee primijetiti wide VM, koji ne staje na jedan NUMA \u010dvor.<\/p>\n<p><b>NRMEM<\/b> \u2013 koliko megabajta memorije VM uzima s udaljenog NUMA \u010dvora.<\/p>\n<p><b>NLMEM<\/b> \u2013 koliko megabajta memorije VM uzima s lokalnog NUMA \u010dvora.<\/p>\n<p><b>N%L<\/b> \u2013 postotak memorije VM na lokalnom NUMA \u010dvoru (ako je manje od 80% \u2014 mogu nastati problemi s performansama).<\/p>\n<h3>Memorija na hipervizoru<\/h3>\n<p>\nAko broja\u010di CPU-a na hipervizoru obi\u010dno ne predstavljaju posebnu zanimljivost, situacija s memorijom je obrnuta. Visoka upotreba memorije na VM-u ne govori uvijek o prisutnosti problema s performansama, ali visoka upotreba memorije na hipervizoru pokre\u0107e tehnike upravljanja memorijom i uzrokuje probleme s performansama VM-a. Treba pratiti alarme Host Memory Usage i ne dopustiti da VM pre\u0111e u Swap.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 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. Dio 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 zavr\u0161i u Swapu, njezina se performansa drasti\u010dno smanjuje. Tragovi Ballooning-a i kompresije brzo nestaju nakon \u0161to se na hostu pojavi slobodna RAM, ali vra\u0107anje iz Swapa u RAM poslu\u017eitelja VM-u ne ide lako. <br \/>\nDo verzije ESXi 6.0 jedini pouzdani i brzi na\u010din za izbacivanje VM iz Swap-a bilo je ponovno pokretanje (preciznije, isklju\u010divanje\/uklju\u010divanje kontejnera). Po\u010dev\u0161i od ESXi 6.0 pojavio se, iako ne sasvim slu\u017ebeni, ali funkcionalan i pouzdan na\u010din za izbacivanje VM iz Swap-a. Na jednoj od konferencija sam imao priliku razgovarati s jednim od in\u017eenjera VMware-a zadu\u017eenim za CPU Scheduler. Potvrdio je da je taj na\u010din sasvim funkcionalan i siguran. U na\u0161em iskustvu nismo primijetili nikakve probleme s njim.<\/p>\n<p>Ukratko, komande za izbacivanje VM iz Swap-a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/\">opisao<\/a><\/noindex> Duncan Epping. Ne\u0107u ponavljati detaljan opis, samo \u0107u dati primjer njenog kori\u0161tenja. Kao \u0161to se mo\u017ee vidjeti na zaslonu, nakon odre\u0111enog vremena nakon izvr\u0161avanja navedene komande, Swap na VM nestaje.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performansi VM u VMware vSphere. Dio 2: Memorija\" src=\"\/wp-content\/uploads\/c60d03c59e115d48b209dadc25081c1e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Savjeti za upravljanje RAM-om na ESXi<\/h3>\n<p>\nNa kraju \u0107u navesti nekoliko savjeta koji \u0107e vam pomo\u0107i da izbjegnete probleme s performansama VM zbog RAM-a:<\/p>\n<ul>\n<li>Nemojte dopustiti prekomjernu opskrbu RAM-a u produkcijskim klastrima. Preporu\u010dljivo je uvijek imati ~20-30% slobodne memorije u klasteru, kako bi DRS (i administrator) imali prostora za manevar, i prilikom migracije VM-a kako ne bi oti\u0161li u Swap. Tako\u0111er ne zaboravite na rezervu za otpornost na kvarove. Neugodno je kada prilikom kvara jednog servera i ponovnog pokretanja VM-a putem HA dio ma\u0161ina tako\u0111er ode u Swap.<\/li>\n<li>U infrastrukturnim okru\u017eenjima s visokom konsolidacijom poku\u0161avajte NE stvarati VM s memorijom ve\u0107om od polovine memorije hosta. To \u0107e opet pomo\u0107i DRS-u da bez problema raspodjeli virtualne ma\u0161ine po serverima klastera. Ovo pravilo, naravno, nije univerzalno :).<\/li>\n<li>Pratite Alarm o kori\u0161tenju memorije hosta.<\/li>\n<li>Ne zaboravite instalirati VMware Tools na VM i ne isklju\u010dujte Ballooning.<\/li>\n<li>Razmotrite mogu\u0107nost uklju\u010divanja Inter-VM TPS i isklju\u010divanja Large Pages u VDI okru\u017eenjima i testnim okru\u017eenjima.<\/li>\n<li>Ako VM ima problema s performansama, provjerite koristi li memoriju s udaljenog NUMA \u010dvora.<\/li>\n<li>Izbacite VM iz Swap-a \u0161to je br\u017ee mogu\u0107e! Osim svega, ako je VM u Swap-u, iz o\u010ditih razloga pati SAN.<\/li>\n<\/ul>\n<p>\nTo je sve o RAM-u za sada. Ispod su \u010dlanci na temu za one koji \u017eele dublje u\u0107i u detalje. Sljede\u0107i \u010dlanak bit \u0107e posve\u0107en pohranama.<\/p>\n<p><b class=\"spoiler_title\">Koristitne veze<\/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.5 - 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\/hr\/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.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/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 performansi VM u VMware vSphere. Dio 2: Memorija | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/35292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=35292"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/35292\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=35292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=35292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=35292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}