{"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\/ro\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","title":{"rendered":"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" 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\/\">Partea 1. Despre CPU<\/a><\/noindex><\/p>\n<p>\u00cen acest articol, vom discuta despre contoarele de performan\u021b\u0103 a memoriei RAM \u00een vSphere.<br \/>\nSe pare c\u0103 situa\u021bia cu memoria este mai clar\u0103 dec\u00e2t cu procesorul: dac\u0103 apar probleme de performan\u021b\u0103 pe VM, este greu s\u0103 nu le observi. Dar, odat\u0103 ce acestea apar, este mult mai complicat s\u0103 le rezolvi. S\u0103 le abord\u0103m pe r\u00e2nd. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Pu\u021bin\u0103 teorie<\/h3>\n<p>\nMemoria RAM a ma\u0219inilor virtuale provine din memoria serverelor pe care ruleaz\u0103 VM-urile. Este destul de evident :). Dac\u0103 serverul nu are suficient\u0103 memorie RAM pentru toate solicit\u0103rile, ESXi \u00eencepe s\u0103 aplice tehnici de optimizare a consumului de memorie (memory reclamation techniques). \u00cen caz contrar, sistemele de operare ale VM-urilor ar c\u0103dea cu erori de acces la RAM. <\/p>\n<p>Ce tehnici s\u0103 aplice ESXi depinde de gradul de ocupare a memoriei RAM:<\/p>\n<p><b>Starea memoriei<\/b><\/p>\n<p><b>Limit\u0103<\/b><\/p>\n<p><b>Ac\u021biuni<\/b><\/p>\n<p>Ridicat<\/p>\n<p>400% din minFree<\/p>\n<p>Dup\u0103 atingerea limitei superioare, paginile mari de memorie sunt \u00eemp\u0103r\u021bite \u00een pagini mici (TPS func\u021bioneaz\u0103 \u00een modul standard).<\/p>\n<p>Clear<\/p>\n<p>100% din minFree<\/p>\n<p>Paginile mari de memorie sunt \u00eemp\u0103r\u021bite \u00een pagini mici, TPS func\u021bioneaz\u0103 for\u021bat.<\/p>\n<p>Moale<\/p>\n<p>64% din minFree<\/p>\n<p>TPS + Balloon<\/p>\n<p>Dur<\/p>\n<p>32% din minFree<\/p>\n<p>TPS + Compresie + Swap<\/p>\n<p>Low<\/p>\n<p>16% din minFree<\/p>\n<p>Compresie + Swap + Blocare<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2015\/03\/02\/what-happens-at-which-vsphere-memory-state\/\">Sursa<\/a><\/noindex> <\/p>\n<p>minFree este memoria RAM necesar\u0103 pentru func\u021bionarea hipervizorului. <\/p>\n<p>P\u00e2n\u0103 la ESXi 4.1 inclusiv, minFree era implicit un procent fix \u2014 6% din volumul de memorie RAM a serverului (procentul putea fi schimbat prin op\u021biunea Mem.MinFreePct pe ESXi). \u00cen versiunile mai recente, din cauza cre\u0219terii dimensiunii memoriei serverelor, minFree a \u00eenceput s\u0103 fie calculat \u00een func\u021bie de volumul memoriei gazd\u0103, \u0219i nu ca o valoare procentual\u0103 fix\u0103. <\/p>\n<p>Valoarea minFree (implicit) este calculat\u0103 astfel:<\/p>\n<p><b>Procentajul de memorie rezervat pentru minFree<\/b><\/p>\n<p><b>Interval de memorie<\/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>Memoria r\u0103mas\u0103<\/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\/\">Sursa<\/a><\/noindex><\/p>\n<p>De exemplu, pentru un server cu 128 GB RAM, valoarea MinFree va fi:<br \/>\nMinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 MB = 1,88 GB <br \/>\nValoarea efectiv\u0103 poate varia cu c\u00e2teva sute de MB, \u00een func\u021bie de server \u0219i de memoria RAM.<\/p>\n<p><b>Procentajul de memorie rezervat pentru minFree<\/b><\/p>\n<p><b>Interval de memorie<\/b><\/p>\n<p><b>Valoarea pentru 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>Memoria r\u0103mas\u0103 (100 GB)<\/p>\n<p>1024 MB<\/p>\n<p>\nDe obicei, pentru medii productive, se poate considera c\u0103 singurul stadiu normal este High. Pentru mediile de testare \u0219i dezvoltare, st\u0103rile Clear\/Soft pot fi acceptabile. Dac\u0103 mai pu\u021bin de 64% din memorie este disponibil\u0103 pe gazd\u0103, atunci ma\u0219inile virtuale care ruleaz\u0103 pe aceasta vor avea cu siguran\u021b\u0103 probleme de performan\u021b\u0103.<\/p>\n<p>\u00cen fiecare stare se aplic\u0103 tehnici specifice de recuperare a memoriei, \u00eencep\u00e2nd cu TPS, care influen\u021beaz\u0103 practic deloc performan\u021ba ma\u0219inilor virtuale, \u0219i ajung\u00e2nd p\u00e2n\u0103 la Swapping. Voi explica acestea \u00een detaliu. <\/p>\n<p><b>Transparent Page Sharing (TPS).<\/b> TPS este, pe scurt, deduplicarea paginilor de memorie RAM ale ma\u0219inilor virtuale de pe server.<\/p>\n<p>ESXi caut\u0103 pagini identice de memorie RAM ale ma\u0219inilor virtuale, calcul\u00e2nd \u0219i compar\u00e2nd suma hash a paginilor, \u0219i \u0219terge duplicatele, \u00eenlocuindu-le cu referin\u021be la aceea\u0219i pagin\u0103 \u00een memoria fizic\u0103 a serverului. Ca urmare, consumul de memorie fizic\u0103 scade \u0219i se poate ob\u021bine o anumit\u0103 reaprovizionare a memoriei practic f\u0103r\u0103 sc\u0103derea performan\u021bei.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" 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\/\">Sursa<\/a><\/noindex><\/p>\n<p>Acest mecanism func\u021bioneaz\u0103 doar pentru paginile de memorie de dimensiune 4 KB (pagine mici). Hypervisorul nu \u00eencearc\u0103 nici m\u0103car s\u0103 deduplicate paginile de dimensiune 2 MB (pagine mari): \u0219ansa de a g\u0103si pagini identice de aceast\u0103 dimensiune nu este mare.<\/p>\n<p>\u00cen mod implicit, ESXi aloc\u0103 memorie paginilor mari. Fragmentarea paginilor mari \u00een pagini mici \u00eencepe la atingerea pragului st\u0103rii High \u0219i se desf\u0103\u0219oar\u0103 for\u021bat atunci c\u00e2nd se atinge starea Clear (vezi tabelul st\u0103rilor hypervisor-ului).<\/p>\n<p>Dac\u0103 dori\u021bi ca TPS s\u0103 \u00eenceap\u0103 s\u0103 func\u021bioneze f\u0103r\u0103 a a\u0219tepta completarea memoriei gazdei, \u00een Op\u021biuni avansate ESXi trebuie s\u0103 seta\u021bi valoarea <i>\u201cMem.AllocGuestLargePage\u201d<\/i> la 0 (implicit 1). Atunci alocarea paginilor mari de memorie pentru ma\u0219inile virtuale va fi dezactivat\u0103.<\/p>\n<p>Din decembrie 2014, \u00een toate versiunile ESXi, TPS \u00eentre VM-uri este dezactivat \u00een mod implicit, deoarece s-a descoperit o vulnerabilitate, care teoretic permitea accesul dintr-o VM la memoria unei alte VM. Detaliile sunt aici. Informa\u021bii despre implementarea practic\u0103 a exploat\u0103rii vulnerabilit\u0103\u021bii TPS nu am \u00eent\u00e2lnit.<\/p>\n<p>Politica TPS este controlat\u0103 prin op\u021biunea avansat\u0103 <i>\u201cMem.ShareForceSalting\u201d<\/i> pe ESXi:<br \/>\n0 \u2014 TPS \u00eentre VM-uri. TPS func\u021bioneaz\u0103 pentru paginile diferitelor VM-uri;<br \/>\n1 \u2013 TPS pentru VM-uri cu acela\u0219i valoare \u201csched.mem.pshare.salt\u201d \u00een VMX;<br \/>\n2 (implicit) \u2013 TPS intra-VM. TPS func\u021bioneaz\u0103 pentru paginile din interiorul VM-ului.<\/p>\n<p>Este sigur c\u0103 are sens s\u0103 dezactiva\u021bi paginile mari \u0219i s\u0103 activa\u021bi Inter-VM TPS pe standurile de testare. De asemenea, aceasta poate fi utilizat\u0103 pentru standuri cu un num\u0103r mare de VM-uri similare. De exemplu, pe standurile VDI, economiile de memorie fizic\u0103 pot ajunge la zeci de procente. <\/p>\n<p><b>Memory Ballooning.<\/b> Ballooning-ul nu mai este o tehnic\u0103 at\u00e2t de inofensiv\u0103 \u0219i transparent\u0103 pentru sistemul de operare al VM-ului, precum TPS. Dar, cu o aplicare corect\u0103, se poate tr\u0103i \u0219i chiar lucra cu Ballooning.<\/p>\n<p>\u00cempreun\u0103 cu VMware Tools, pe VM se instaleaz\u0103 un driver special, numit Balloon Driver (sau vmmemctl). C\u00e2nd hipervizorul \u00eencepe s\u0103 nu mai aib\u0103 suficient\u0103 memorie fizic\u0103 \u0219i trece \u00een starea Soft, ESXi cere VM-ului s\u0103 returneze memoria RAM neutilizat\u0103 prin acest Balloon Driver. Driverul, la r\u00e2ndul s\u0103u, func\u021bioneaz\u0103 la nivelul sistemului de operare \u0219i solicit\u0103 memorie liber\u0103 de la acesta. Hipervizorul vede ce pagini de memorie fizic\u0103 a ocupat Balloon Driver-ul, ia memoria de la ma\u0219ina virtual\u0103 \u0219i o returneaz\u0103 gazdei. Nu apar probleme cu func\u021bionarea sistemului de operare, deoarece la nivelul OS memoria este ocupat\u0103 de Balloon Driver. Implicit, Balloon Driver-ul poate lua p\u00e2n\u0103 la 65% din memoria VM-ului.<\/p>\n<p>Dac\u0103 VMware Tools nu sunt instalate pe VM sau Ballooning-ul este dezactivat (nu recomand, dar exist\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/s\/article\/1002586\">KB<\/a><\/noindex>:), hipervizorul trece imediat la tehnici mai dure de recuperare a memoriei. Concluzie: asigura\u021bi-v\u0103 c\u0103 VMware Tools sunt instalate pe VM.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/884df6a7f5610d9bb372a7c34558f280.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Func\u021bionarea Balloon Driver-ului poate fi verificat\u0103 din OS prin VMware Tools.<\/i>.<\/p>\n<p><b>Memory Compression.<\/b> Aceast\u0103 tehnic\u0103 este utilizat\u0103 atunci c\u00e2nd ESXi ajunge \u00een starea Hard. A\u0219a cum sugereaz\u0103 numele, ESXi \u00eencearc\u0103 s\u0103 comprime o pagin\u0103 de 4 Kbyte de memorie RAM la 2 Kbyte \u0219i, astfel, s\u0103 elibereze pu\u021bin spa\u021biu \u00een memoria fizic\u0103 a serverului. Aceast\u0103 tehnic\u0103 cre\u0219te semnificativ timpul de acces la con\u021binutul paginilor de memorie RAM ale VM-ului, deoarece pagina trebuie s\u0103 fie dezvoltat\u0103 anterior. Uneori, nu toate paginile pot fi comprimate, iar procesul \u00een sine dureaz\u0103 ceva timp. Prin urmare, aceast\u0103 tehnic\u0103 nu este foarte eficient\u0103 \u00een practic\u0103.<\/p>\n<p><b>Memory Swapping.<\/b> Dup\u0103 o scurt\u0103 faz\u0103 de Memory Compression, ESXi trece practic inevitabil (dac\u0103 VM-urile nu au fost mutate pe alte gazde sau nu au fost oprite) la Swapping. \u0218i dac\u0103 a r\u0103mas foarte pu\u021bin\u0103 memorie (starea Low), atunci hipervizorul \u00eenceteaz\u0103 s\u0103 mai aloce VM-ului pagini de memorie, ceea ce poate provoca probleme \u00een sistemele de operare gazd\u0103 ale VM-ului.<\/p>\n<p>Iat\u0103 cum func\u021bioneaz\u0103 Swapping. C\u00e2nd se porne\u0219te o ma\u0219in\u0103 virtual\u0103, se creeaz\u0103 un fi\u0219ier cu extensia .vswp. Dimensiunea acestuia este egal\u0103 cu memoria RAM nerezervat\u0103 a MV: aceasta reprezint\u0103 diferen\u021ba dintre memoria configurat\u0103 \u0219i cea rezervat\u0103. Atunci c\u00e2nd se utilizeaz\u0103 Swapping, ESXi descarc\u0103 paginile de memorie ale ma\u0219inii virtuale \u00een acest fi\u0219ier \u0219i \u00eencepe s\u0103 lucreze cu acesta \u00een loc de memoria fizic\u0103 a serverului. Evident, aceast\u0103 a\u0219a-numit\u0103 \u201ememorie operativ\u0103\u201d este cu c\u00e2teva ordine de m\u0103rime mai lent\u0103 dec\u00e2t cea real\u0103, chiar dac\u0103 .vswp se afl\u0103 pe un stocare rapid\u0103.<\/p>\n<p>Spre deosebire de Ballooning, c\u00e2nd MV-ului i se iau pagini neutilizate, la Swapping paginile care sunt active \u00een sistemul de operare sau \u00een aplica\u021biile din MV pot fi mutate pe disc. Drept urmare, performan\u021ba MV-ului scade, ajung\u00e2nd p\u00e2n\u0103 la blocaje. MV-ul func\u021bioneaz\u0103 formal \u0219i cel pu\u021bin poate fi oprit corect din sistemul de operare. Dac\u0103 ave\u021bi r\u0103bdare\ud83d\ude09<\/p>\n<p>Dac\u0103 MV-urile au ajuns \u00een Swap, aceasta este o situa\u021bie anormal\u0103 pe care ar trebui s\u0103 o evita\u021bi c\u00e2t mai mult posibil.<\/p>\n<h3>Principalele metrici de performan\u021b\u0103 a memoriei ma\u0219inii virtuale<\/h3>\n<p>\nIat\u0103-ne ajung\u00e2nd la esen\u021bial. Pentru monitorizarea st\u0103rii memoriei \u00een MV, exist\u0103 urm\u0103toarele metrici:<\/p>\n<p><b>Activ<\/b> \u2014 arat\u0103 volumul de memorie RAM (Kbyte) la care MV-ul a avut acces \u00een perioada de m\u0103surare anterioar\u0103.<\/p>\n<p><b>Utilizare<\/b> \u2014 acela\u0219i lucru ca Activ, dar \u00een procente din memoria RAM configurat\u0103 a MV-ului. Este calculat folosind urm\u0103toarea formul\u0103: activ \u00f7 dimensiunea memoriei virtuale configurate a ma\u0219inii.<br \/>\nO Utilizare \u0219i Activ\u0103 ridicate nu sunt neap\u0103rat un indicator al problemelor de performan\u021b\u0103 ale MV-ului. Dac\u0103 MV-ul utilizeaz\u0103 agresiv memoria (de cel pu\u021bin, are acces la aceasta), nu \u00eenseamn\u0103 c\u0103 \u00eei lipse\u0219te. Mai degrab\u0103, este un motiv s\u0103 verifica\u021bi ce se \u00eent\u00e2mpl\u0103 \u00een sistemul de operare.<br \/>\nExist\u0103 o Alarm\u0103 standard pentru Utilizarea Memoriei pentru MV:<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/073132b332da79be15e3bedf2c66cf94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Partajat<\/b> \u2014 volumul de memorie RAM al MV-ului, deduplicat folosind TPS (\u00een cadrul MV-ului sau \u00eentre MV-uri).<\/p>\n<p><b>Acordat<\/b> \u2014 volumul de memorie fizic\u0103 a gazdei (Kbyte), care a fost alocat MV-ului. Include Shared.<\/p>\n<p><b>Consumpt<\/b> (Acordat \u2014 Shared) \u2014 volumul de memorie fizic\u0103 (Kbyte) consumat de MV de la gazd\u0103. Nu include Shared.<\/p>\n<p>Dac\u0103 o parte din memoria MV-ului este alocat\u0103 nu din memoria fizic\u0103 a gazdei, ci din swap-file sau memoria este luat\u0103 de la MV prin Balloon Driver, acest volum nu este inclus \u00een Acordat \u0219i Consumpt.<br \/>\nValorile mari pentru Granted \u0219i Consumed sunt perfect normale. Sistemul de operare absoarbe treptat memorie de la hypervisor \u0219i nu o returneaz\u0103. \u00cen timp, pentru o VM activ\u0103, valorile acestor contoare se apropie de cantitatea de memorie configurat\u0103 \u0219i r\u0103m\u00e2n acolo.<\/p>\n<p><b>Zero<\/b> \u2014 cantitatea de memorie RAM a VM-ului (KB) care con\u021bine zerouri. Aceast\u0103 memorie este considerat\u0103 liber\u0103 de hypervisor \u0219i poate fi alocat\u0103 altor ma\u0219ini virtuale. Dup\u0103 ce sistemul de operare gazd\u0103 a scris ceva \u00een memoria zero, aceasta trece \u00een Consumed \u0219i nu mai revine.<\/p>\n<p><b>Reserved Overhead<\/b> \u2014 cantitatea de memorie RAM a VM-ului (KB) rezervat\u0103 de hypervisor pentru func\u021bionarea VM-ului. Acesta este un volum mic, dar trebuie s\u0103 fie disponibil pe gazd\u0103, altfel VM-ul nu va porni.<\/p>\n<p><b>Balloon<\/b> \u2014 cantitatea de memorie RAM (KB) extras\u0103 de la VM prin intermediul Balloon Driver.<\/p>\n<p><b>Compressed<\/b> \u2014 cantitatea de memorie RAM (KB) care a reu\u0219it s\u0103 fie comprimat\u0103.<\/p>\n<p><b>Swapped<\/b> \u2014 cantitatea de memorie RAM (KB) care, din lips\u0103 de memorie fizic\u0103 pe server, a fost mutat\u0103 pe disc.<br \/>\nBalloon \u0219i ceilal\u021bi indicatori ai tehnicilor de recuperare a memoriei sunt egali cu zero.<\/p>\n<p>A\u0219a arat\u0103 un grafic cu contoarele Memory pentru o VM care func\u021bioneaz\u0103 normal cu 150 GB de memorie RAM.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/4c361a407581b24fc042c91a6d76aa68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00cen graficul de mai jos, VM-ul are probleme evidente. Sub grafic se poate observa c\u0103 pentru aceast\u0103 VM au fost utilizate toate tehnicile descrise pentru gestionarea memoriei. Balloon pentru aceast\u0103 VM este mult mai mare dec\u00e2t Consumed. De fapt, VM-ul este mai degrab\u0103 mort dec\u00e2t viu. <\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/fcc8f196fc7d158e82de4737c5ebe776.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>ESXTOP<\/h3>\n<p>\nA\u0219a cum se \u00eent\u00e2mpl\u0103 \u0219i cu CPU, dac\u0103 dorim s\u0103 evalu\u0103m rapid situa\u021bia pe gazd\u0103, precum \u0219i dinamica acesteia la intervale de p\u00e2n\u0103 la 2 secunde, ar trebui s\u0103 folosim ESXTOP.<\/p>\n<p>Ecranul ESXTOP pentru Memory se deschide cu tasta \u201em\u201d \u0219i arat\u0103 astfel (c\u00e2mpurile selectate: B,D,H,J,K,L,O):<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/27383c357fb351bbe8353abf3b08171e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nParametrii urm\u0103tori ne vor interesa: <\/p>\n<p><b>Mem overcommit avg<\/b> \u2014 valoarea medie a supra\u00eenc\u0103rc\u0103rii memoriei pe gazd\u0103 \u00een ultimele 1, 5 \u0219i 15 minute. Dac\u0103 este mai mare de zero, este un motiv s\u0103 verific\u0103m ce se \u00eent\u00e2mpl\u0103, dar nu este \u00eentotdeauna un indicator al existen\u021bei problemelor.<\/p>\n<p>\u00cen r\u00e2ndurile <b>PMEM\/MB<\/b> \u0219i <b>VMKMEM\/MB<\/b> \u2014 informa\u021bii despre memoria fizic\u0103 a serverului \u0219i memoria disponibil\u0103 VMkernel. Din detalii, aici putem observa valoarea minfree (\u00een MB), starea gazdei \u00een ceea ce prive\u0219te memoria (\u00een cazul nostru, high).<\/p>\n<p>\u00cen r\u00e2ndul <b>NUMA\/MB<\/b> se poate observa distribu\u021bia memoriei RAM pe nodurile NUMA (soclu). \u00cen acest exemplu, distribu\u021bia este inegal\u0103, ceea ce nu este foarte bine.<\/p>\n<p>Urm\u0103torul este un rezumat general al statisticilor serverului privind tehnicile de recuperare a memoriei:<\/p>\n<p><b>PSHARE\/MB<\/b> \u2014 aceasta este statistica TPS;<\/p>\n<p><b>SWAP\/MB<\/b> \u2014 statistic\u0103 utilizare Swap;<\/p>\n<p><b>ZIP\/MB<\/b> \u2014 statistic\u0103 pentru comprimarea paginilor de memorie;<\/p>\n<p><b>MEMCTL\/MB<\/b> \u2014 statistic\u0103 utilizare Balloon Driver.<\/p>\n<p>Pentru fiecare VM, ne-ar putea interesa urm\u0103toarele informa\u021bii. Am ascuns numele VM-urilor pentru a nu confunda audien\u021ba :). Dac\u0103 metrica ESXTOP este similar\u0103 cu contorul din vSphere, ofer contorul corespunz\u0103tor. <\/p>\n<p><b>MEMSZ<\/b> \u2014 volumul de memorie configurat pe VM (MB).<br \/>\nMEMSZ = GRANT + MCTLSZ + SWCUR + untouched.<\/p>\n<p><b>GRANT<\/b> \u2014 Grantat \u00een MB.<\/p>\n<p><b>TCHD<\/b> \u2014 Activ \u00een MB.<\/p>\n<p><b>MCTL?<\/b> \u2014 Dac\u0103 Balloon Driver este instalat pe VM.<\/p>\n<p><b>MCTLSZ<\/b> \u2014 Balloon \u00een MB.<\/p>\n<p><b>MCTLGT<\/b> \u2014 volumul de memorie RAM (MB) pe care ESXi vrea s\u0103-l recupereze de la VM prin Balloon Driver (Memctl Target).<\/p>\n<p><b>MCTLMAX<\/b> \u2014 volumul maxim de memorie RAM (MB) pe care ESXi poate s\u0103-l recupereze de la VM prin Balloon Driver.<\/p>\n<p><b>SWCUR<\/b> \u2014 volumul curent de memorie RAM (MB) alocat VM-ului din fi\u0219ierul Swap. <\/p>\n<p><b>SWGT<\/b> \u2014 volumul de memorie RAM (MB) pe care ESXi dore\u0219te s\u0103-l aloce VM-ului din fi\u0219ierul Swap (Swap Target).<\/p>\n<p>De asemenea, prin ESXTOP se poate vizualiza informa\u021bii mai detaliate despre topologia NUMA a VM-ului. Pentru aceasta, trebuie selectate c\u00e2mpurile D,G:<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/3fde4ab9d54c709f66313020437255c2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>NHN<\/b> \u2013 nodurile NUMA pe care se afl\u0103 VM-ul. Aici se pot observa imediat VM-uri mari care nu \u00eencap pe un singur nod NUMA.<\/p>\n<p><b>NRMEM<\/b> \u2013 c\u00e2\u021bi megabai\u021bi de memorie ia VM-ul de pe un nod NUMA \u00eendep\u0103rtat.<\/p>\n<p><b>NLMEM<\/b> \u2013 c\u00e2\u021bi megabai\u021bi de memorie ia VM-ul de pe un nod NUMA local.<\/p>\n<p><b>N%L<\/b> \u2013 procentul de memorie VM pe nodul NUMA local (dac\u0103 este mai mic de 80% \u2014 pot ap\u0103rea probleme de performan\u021b\u0103).<\/p>\n<h3>Memorie pe hypervizor<\/h3>\n<p>\nDac\u0103 contoarele CPU pe hypervizor de obicei nu prezint\u0103 un interes deosebit, \u00een cazul memoriei situa\u021bia este invers\u0103. Un nivel ridicat de utilizare a memoriei pe VM nu \u00eenseamn\u0103 \u00eentotdeauna c\u0103 exist\u0103 o problem\u0103 de performan\u021b\u0103, dar un nivel ridicat de utilizare a memoriei pe hypervizor activeaz\u0103 tehnicile de gestionare a memoriei \u0219i provoac\u0103 probleme de performan\u021b\u0103 ale VM-ului. Este important s\u0103 monitoriz\u0103m alertele de utilizare a memoriei gazdei \u0219i s\u0103 evit\u0103m ca VM-urile s\u0103 ajung\u0103 \u00een Swap.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/27931f9a8607000dc9a7ca483c03ad68.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/4a1c0d6199a340dd62e5c923611ddd6e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Unswap<\/h3>\n<p>\nDac\u0103 VM-ul a ajuns \u00een Swap, performan\u021ba sa scade semnificativ. Urmele Ballooning-ului \u0219i comprim\u0103rii dispar rapid dup\u0103 ce apare memorie RAM liber\u0103 pe host, dar \u00eentoarcerea din Swap \u00een memoria RAM a serverului nu se face deloc cu repeziciune. <br \/>\nP\u00e2n\u0103 la versiunea ESXi 6.0, singura modalitate de \u00eencredere \u0219i rapid\u0103 de a scoate VM-urile din Swap era repornirea (mai precis, oprirea\/\nc \u0219i apoi activarea contului). \u00cencep\u00e2nd cu ESXi 6.0, a ap\u0103rut o metod\u0103, de\u0219i nu tocmai oficial\u0103, dar func\u021bional\u0103 \u0219i de \u00eencredere de a scoate VM-urile din Swap. La una dintre conferin\u021be, am reu\u0219it s\u0103 discut cu unul dintre inginerii VMware care se ocup\u0103 de CPU Scheduler. El a confirmat c\u0103 aceast\u0103 metod\u0103 este destul de func\u021bional\u0103 \u0219i sigur\u0103. Din experien\u021ba noastr\u0103, nu am avut probleme cu aceasta.<\/p>\n<p>Comenzile propriu-zise pentru scoaterea VM-urilor din Swap <noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2016\/06\/02\/memory-pages-swapped-can-unswap\/\">a descris<\/a><\/noindex> Duncan Epping. Nu voi repeta descrierea detaliat\u0103, voi da doar un exemplu de utilizare. Dup\u0103 cum se vede \u00een captura de ecran, dup\u0103 un timp, dup\u0103 executarea comenzii specifice, Swap-ul de pe VM dispare.<\/p>\n<p><img decoding=\"async\" alt=\"Analiza performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie\" src=\"\/wp-content\/uploads\/c60d03c59e115d48b209dadc25081c1e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Sfaturi pentru gestionarea memoriei RAM pe ESXi<\/h3>\n<p>\n\u00cen cele din urm\u0103, voi oferi c\u00e2teva sfaturi care v\u0103 vor ajuta s\u0103 evita\u021bi problemele de performan\u021b\u0103 ale VM-ului din cauza memoriei RAM:<\/p>\n<ul>\n<li>Evita\u021bi overcommitment-ul memoriei RAM \u00een clusterele productive. Este recomandat s\u0103 ave\u021bi \u00eentotdeauna ~20-30% din memorie liber\u0103 \u00een cluster, astfel \u00eenc\u00e2t DRS (\u0219i administratorul) s\u0103 aib\u0103 spa\u021biu pentru manevr\u0103 \u0219i, \u00een timpul migra\u021biei VM-uri, acestea s\u0103 nu ajung\u0103 \u00een Swap. De asemenea, nu uita\u021bi de rezervele pentru toleran\u021ba la defectiuni. Este nepl\u0103cut c\u00e2nd, \u00een cazul unui server c\u0103zut \u0219i la repornirea VM-ului prin HA, o parte din ma\u0219ini ajung s\u0103 mearg\u0103 \u00een Swap.<\/li>\n<li>\u00cen infrastructurile cu un grad ridicat de consolidare, \u00eencerca\u021bi S\u0102 NU crea\u021bi VM-uri cu memorie mai mare de jum\u0103tate din memoria host-ului. Acest lucru va ajuta din nou DRS s\u0103 aloce f\u0103r\u0103 probleme ma\u0219inile virtuale pe serverele clusterului. Aceast\u0103 regul\u0103, desigur, nu este universal\u0103 :).<\/li>\n<li>Monitoriza\u021bi Alarma de Utilizare a Memorii Host.<\/li>\n<li>Nu uita\u021bi s\u0103 instala\u021bi VMware Tools pe VM-uri \u0219i s\u0103 nu dezactiva\u021bi Ballooning-ul.<\/li>\n<li>Considera\u021bi activarea Inter-VM TPS \u0219i dezactivarea Large Pages \u00een medii cu VDI \u0219i medii de testare.<\/li>\n<li>Dac\u0103 VM-ul \u00eent\u00e2mpin\u0103 probleme de performan\u021b\u0103, verifica\u021bi dac\u0103 folose\u0219te memorie de pe un nod NUMA \u00eendep\u0103rtat.<\/li>\n<li>Scoate\u021bi VM-urile din Swap c\u00e2t mai repede posibil! Pe l\u00e2ng\u0103 toate acestea, dac\u0103 un VM se afl\u0103 \u00een Swap, din motive evidente, este afectat spa\u021biul de stocare.<\/li>\n<\/ul>\n<p>\nAsta e tot despre memoria RAM pentru mine. Mai jos sunt articole pe acest subiect pentru cei care vor s\u0103 se aprofundeze \u00een detalii. Urm\u0103torul articol va fi dedicat stoc\u0103rii.<\/p>\n<p><b class=\"spoiler_title\">Linkuri utile<\/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>Sursa: <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.2 - 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\/ro\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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 performan\u021bei VM-urilor \u00een VMware vSphere. Partea 2: Memorie | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/analiz-proizvoditelnosti-vm-v-vmware-vsphere-chast-2-memory","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/35292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=35292"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/35292\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=35292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=35292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=35292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}