Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

Parti 1. Dwar is-CPU

F'dan l-artikolu, se nitkellmu dwar il-counters tal-prestazzjoni tal-memorja ta 'aċċess każwali (RAM) f'vSphere.
Jidher li bil-memorja kollox huwa aktar ċar milli bil-proċessur: jekk VM għandha problemi ta 'prestazzjoni, huwa diffiċli li ma tindunax magħhom. Imma jekk jidhru, huwa ħafna aktar diffiċli li tittrattahom. Imma l-ewwel affarijiet l-ewwel.

Daqsxejn ta 'teorija

Ir-RAM tal-magni virtwali hija meħuda mill-memorja tas-server li fuqu qed jaħdmu l-VMs. Huwa pjuttost ovvju :). Jekk ir-RAM tas-server ma tkunx biżżejjed għal kulħadd, ESXi jibda juża tekniki ta 'reklamazzjoni tal-memorja biex jottimizza l-konsum tar-RAM. Inkella, is-sistemi operattivi VM jikkraxxjaw bi żbalji ta 'aċċess RAM.

Liema tekniki biex tuża ESXi tiddeċiedi skond it-tagħbija ta 'RAM:

Status tal-memorja

Fruntiera

Attività

Għoli

400% tal-minFree

Wara li jintlaħaq il-limitu ta 'fuq, paġni kbar tal-memorja jinqasmu f'oħrajn żgħar (TPS jaħdem f'modalità standard).

ċar

100% tal-minFree

Paġni kbar tal-memorja jinqasmu f'dawk żgħar, TPS huwa sfurzat jaħdem.

Soft

64% tal-minFree

TPS + Bużżieqa

Hard

32% tal-minFree

TPS + Ikkompressa + Skambju

Baxxa

16% tal-minFree

Ikkompressa + Skambju + Blokk

Sors

minFree hija r-RAM meħtieġa biex l-hypervisor jaħdem.

Qabel l-ESXi 4.1 inklussiv, minFree kien iffissat awtomatikament - 6% tar-RAM tas-server (il-perċentwal seta' jinbidel permezz tal-għażla Mem.MinFreePct fuq ESXi). F'verżjonijiet aktar tard, minħabba ż-żieda fid-daqsijiet tal-memorja fuq is-servers, minFree beda jiġi kkalkulat abbażi tal-ammont ta 'memorja ospitanti, u mhux bħala persentaġġ fiss.

Il-valur minFree (default) huwa kkalkulat kif ġej:

Perċentwal tal-memorja riservata għal minFree

Firxa tal-memorja

6%

0-4 GB

4%

4-12 GB

2%

12-28 GB

1%

Memorja li fadal

Sors

Pereżempju, għal server b'128 GB ta' RAM, il-valur MinFree ikun:
MinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12MB = 1,88GB
Il-valur attwali jista 'jvarja bi ftit mijiet ta' MB, jiddependi fuq is-server u r-RAM.

Perċentwal tal-memorja riservata għal minFree

Firxa tal-memorja

Valur għal 128 GB

6%

0-4 GB

245,76 MB

4%

4-12 GB

327,68 MB

2%

12-28 GB

327,68 MB

1%

Memorja li fadal (100 GB)

1024 MB

Normalment, għal stands produttivi, l-Istat Għoli biss jista 'jitqies bħala normali. Għall-bankijiet tat-test u l-iżvilupp, stati ċari/artab jistgħu jkunu aċċettabbli. Jekk ir-RAM fuq il-host hija inqas minn 64% MinFree, allura l-VMs li jaħdmu fuqha żgur għandhom problemi ta 'prestazzjoni.

F'kull stat, jiġu applikati ċerti tekniki ta 'reklamazzjoni tal-memorja, li jibdew bit-TPS, li prattikament ma jaffettwax il-prestazzjoni tal-VM, u jispiċċa bi Swapping. Jien ngħidlek aktar dwarhom.

Qsim ta' Paġni Trasparenti (TPS). TPS huwa, bejn wieħed u ieħor, deduplikazzjoni tal-paġni tal-memorja tal-magni virtwali fuq server.

ESXi tfittex paġni identiċi ta 'RAM tal-magni virtwali billi tgħodd u tqabbel is-somma hash tal-paġni, u tneħħi paġni duplikati, u tissostitwihom b'links għall-istess paġna fil-memorja fiżika tas-server. Bħala riżultat, il-konsum tal-memorja fiżika jitnaqqas u xi abbonament eċċessiv tal-memorja jista 'jinkiseb bi ftit jew xejn degradazzjoni tal-prestazzjoni.

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja
Sors

Dan il-mekkaniżmu jaħdem biss għal paġni tal-memorja ta' 4 KB (paġni żgħar). L-hypervisor lanqas biss jipprova jiddeduppja paġni ta '2 MB (paġni kbar): iċ-ċans li ssib paġni identiċi ta' dan id-daqs mhix kbira.

B'mod awtomatiku, ESXi jalloka memorja għal paġni kbar. It-tkissir ta 'paġni kbar f'paġni żgħar jibda meta jintlaħaq il-limitu tal-istat Għoli u jiġi sfurzat meta jintlaħaq l-istat ċar (ara t-tabella tal-istat tal-hypervisor).

Jekk trid li TPS jibda jaħdem mingħajr ma tistenna li r-RAM ospitanti timla, f'Għażliet Avvanzati ESXi trid issettja l-valur “Mem.AllocGuestLargePage” sa 0 (default 1). Imbagħad l-allokazzjoni ta 'paġni tal-memorja kbar għal magni virtwali se tkun diżattivata.

Minn Diċembru 2014, fir-rilaxxi kollha ta 'ESXi, TPS bejn VMs ġie diżattivat b'mod awtomatiku, peress li nstabet vulnerabbiltà li teoretikament tippermetti aċċess minn VM waħda għar-RAM ta' VM oħra. Dettalji hawn. Ma ltqajtx ma' informazzjoni dwar l-implimentazzjoni prattika tal-isfruttament tal-vulnerabbiltà tat-TPS.

Politika TPS kkontrollata permezz ta 'għażla avvanzata “Mem.ShareForceSalting” fuq ESXi:
0 - Inter-VM TPS. TPS jaħdem għal paġni ta 'VMs differenti;
1 – TPS għal VM bl-istess valur "sched.mem.pshare.salt" f'VMX;
2 (default) - TPS Intra-VM. TPS jaħdem għal paġni ġewwa l-VM.

Żgur jagħmel sens li titfi paġni kbar u tixgħel Inter-VM TPS fuq bankijiet tat-test. Jista 'jintuża wkoll għal stands b'numru kbir ta' l-istess tip ta 'VM. Pereżempju, fuq stands b'VDI, l-iffrankar fil-memorja fiżika jista 'jilħaq għexieren ta' fil-mija.

ballooning tal-memorja. Il-ballooning m'għadux tali teknika li ma tagħmilx ħsara u trasparenti għas-sistema operattiva VM bħal TPS. Iżda b'applikazzjoni xierqa, tista 'tgħix u anke taħdem ma' Ballooning.

Flimkien ma 'Vmware Tools, sewwieq speċjali msejjaħ Balloon Driver (magħruf ukoll bħala vmmemctl) huwa installat fuq il-VM. Meta l-hypervisor jibda jispiċċa mill-memorja fiżika u jidħol fl-istat Soft, ESXi jitlob lill-VM biex titlob lura RAM mhux użata permezz ta 'dan is-Sewwieq tal-Bużżieqa. Is-sewwieq, min-naħa tiegħu, jaħdem fil-livell tas-sistema operattiva u jitlob memorja ħielsa minnu. L-hypervisor jara liema paġni ta 'memorja fiżika okkupa s-Sewwieq tal-Bużżieqa, jieħu l-memorja mill-magna virtwali u jirritornaha lill-ospitant. M'hemm l-ebda problemi bl-operat tal-OS, peress li fil-livell tal-OS il-memorja hija okkupata mis-Sewwieq tal-Bużżieqa. B'mod awtomatiku Balloon Driver jista' jieħu sa 65% tal-memorja VM.

Jekk VMware Tools mhumiex installati fuq il-VM jew Ballooning huwa diżattivat (ma nirrakkomandax, iżda hemm KB:), l-hypervisor immedjatament jaqleb għal tekniki ta 'tneħħija tal-memorja aktar stretti. Konklużjoni: kun żgur li VMware Tools huma fuq il-VM.

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja
It-tħaddim ta' Balloon Driver jista' jiġi ċċekkjat mill-OS permezz ta' VMware Tools.

kompressjoni tal-memorja. Din it-teknika tintuża meta ESXi jilħaq l-istat Hard. Kif jimplika l-isem, ESXi jipprova jiċkien paġna ta '4KB ta' RAM f'2KB u b'hekk jillibera xi spazju fuq il-memorja fiżika tas-server. Din it-teknika żżid b'mod sinifikanti l-ħin ta 'aċċess għall-kontenut tal-paġni VM RAM, peress li l-paġna l-ewwel trid tkun mhux kompressata. Xi drabi mhux il-paġni kollha jistgħu jiġu kkompressati u l-proċess innifsu jieħu xi żmien. Għalhekk, din it-teknika mhijiex effettiva ħafna fil-prattika.

skambju tal-memorja. Wara fażi qasira ta 'Kompressjoni tal-Memorja, ESXi kważi inevitabbilment (sakemm il-VMs ma jkunux marru għal hosts oħra jew għalqu) se jaqilbu għal Skambju. U jekk fadal ftit li xejn memorja (Stat Baxx), allura l-hypervisor jieqaf ukoll jalloka paġni tal-memorja lill-VM, li jista 'jikkawża problemi fl-OS mistieden tal-VM.

Hawn hu kif jaħdem l-Iskambju. Meta tixgħel magna virtwali, jinħoloq fajl bl-estensjoni .vswp għaliha. Huwa daqs id-daqs tar-RAM mhux riżervata tal-VM: hija d-differenza bejn il-memorja kkonfigurata u riservata. Meta l-Iskambju jkun qed jaħdem, ESXi jħott paġni tal-memorja tal-magni virtwali f'dan il-fajl u jibda jaħdem miegħu minflok il-memorja fiżika tas-server. Naturalment, tali memorja "operattiva" bħal din hija bosta ordnijiet ta 'kobor aktar bil-mod minn dik reali, anke jekk .vswp tinsab fuq ħażna veloċi.

B'differenza minn Ballooning, meta paġni mhux użati jittieħdu mill-VM, bi Skambju, paġni li jintużaw b'mod attiv mill-OS jew applikazzjonijiet ġewwa l-VM jistgħu jimxu lejn id-diska. Bħala riżultat, il-prestazzjoni tal-VM tinżel sal-punt tal-iffriżar. Il-VM jaħdem formalment u għall-inqas jista 'jiġi diżattivat sew mill-OS. Jekk għandek paċenzja 😉

Jekk il-VMs marru għal Swap, din hija sitwazzjoni anormali, li tiġi evitata l-aħjar jekk possibbli.

Counters ewlenin tal-prestazzjoni tal-memorja VM

Allura wasalna sal-punt ewlieni. Biex timmonitorja l-istat tal-memorja fil-VM, hemm il-counters li ġejjin:

attiva — turi l-ammont ta’ RAM (KB) li l-VM kisbet aċċess għaliha fil-perjodu ta’ kejl preċedenti.

Usage - l-istess bħal Attiva, iżda bħala persentaġġ tar-RAM konfigurata tal-VM. Ikkalkulat bl-użu tal-formula li ġejja: attiv ÷ daqs tal-memorja kkonfigurat magna virtwali.
Użu Għoli u Attiv, rispettivament, mhux dejjem huma indikatur tal-problemi tal-prestazzjoni tal-VM. Jekk il-VM juża l-memorja b'mod aggressiv (mill-inqas ikollu aċċess għaliha), dan ma jfissirx li m'hemmx biżżejjed memorja. Pjuttost, hija okkażjoni biex tara x'qed jiġri fl-OS.
Hemm Allarm standard għall-Użu tal-Memorja għall-VMs:

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

Maqsuma - l-ammont ta' VM RAM deduplikat bl-użu ta' TPS (ġewwa l-VM jew bejn VMs).

Mogħti - l-ammont ta' memorja fiżika ospitanti (KB) li ngħatat lill-VM. Jinkludi Shared.

Konsumata (Mogħti - Kondiviż) - l-ammont ta 'memorja fiżika (KB) li l-VM tikkonsma mill-host. Ma jinkludix Shared.

Jekk parti mill-memorja tal-VM tingħata mhux mill-memorja fiżika tal-host, iżda mill-fajl ta' tpartit, jew il-memorja tittieħed mill-VM permezz tal-Bloon Driver, dan l-ammont ma jitqiesx f'Mogħti u Konsmat.
Il-valuri Għolja Mogħtija u Konsmati huma perfettament normali. Is-sistema operattiva gradwalment tieħu memorja mill-hypervisor u ma tagħtihiex lura. Maż-żmien, f'VM li taħdem b'mod attiv, il-valuri ta' dawn il-counters jersqu lejn l-ammont ta 'memorja kkonfigurata, u jibqgħu hemm.

Żero — l-ammont ta’ VM RAM (KB), li fih iż-żeri. Tali memorja hija kkunsidrata ħielsa mill-hypervisor u tista 'tingħata lil magni virtwali oħra. Wara li l-OS mistieden kiteb xi ħaġa fuq il-memorja żero, din tidħol f'Kunsmat u ma terġax lura.

Overhead Riżervat — l-ammont ta' VM RAM, (KB) riżervat mill-hypervisor għall-operat tal-VM. Dan huwa ammont żgħir, iżda għandu jkun disponibbli fuq il-host, inkella l-VM ma tibda.

Bużżieqa — l-ammont ta' RAM (KB) maqbud mill-VM bl-użu tal-Ballun Driver.

Ikkompressat - l-ammont ta' RAM (KB) li kien ikkompressat.

Skambjat - l-ammont ta 'RAM (KB) li, minħabba nuqqas ta' memorja fiżika fuq is-server, mċaqalqa għal disk.
Il-counters tal-bużżieqa u tekniki oħra ta 'reklamazzjoni tal-memorja huma żero.

Hekk tidher il-grafika b'counters tal-Memorja għal VM li taħdem normalment b'150 GB ta 'RAM.

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

Fil-graff hawn taħt, il-VM għandha problemi ovvji. Taħt il-graff, tista 'tara li għal din il-VM, intużaw it-tekniki kollha deskritti biex taħdem ma' RAM. Il-bużżieqa għal din il-VM hija ħafna akbar minn Konsmata. Fil-fatt, il-VM hija aktar mejta milli ħaj.

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

ESXTOP

Bħal fis-CPU, jekk irridu nevalwaw malajr is-sitwazzjoni fuq l-ospitant, kif ukoll id-dinamika tiegħu b'intervall sa 2 sekondi, għandna nużaw ESXTOP.

L-iskrin ESXTOP mill-Memorja tissejjaħ biċ-ċavetta "m" u tidher bħal din (fields B, D, H, J, K, L, O huma magħżula):

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

Il-parametri li ġejjin se jkunu ta 'interess għalina:

Mem overcommit avg - il-valur medju tas-sottoskrizzjoni żejda tal-memorja fuq il-host għal 1, 5 u 15-il minuta. Jekk ikun 'il fuq minn żero, allura din hija okkażjoni biex tara x'qed jiġri, iżda mhux dejjem indikatur tal-problemi.

Fil-linji PMEM/MB и VMKMEM/MB - informazzjoni dwar il-memorja fiżika tas-server u l-memorja disponibbli għal VMkernel. Mill-interessanti hawn tista 'tara l-valur ta' minfree (f'MB), l-istat tal-host fil-memorja (fil-każ tagħna, għoli).

F'konformità NUMA/MB tista 'tara d-distribuzzjoni ta' RAM minn nodi NUMA (sokits). F'dan l-eżempju, id-distribuzzjoni hija irregolari, li, fil-prinċipju, mhix tajba ħafna.

Din li ġejja hija statistika ġenerali tas-server dwar tekniki ta' reklamazzjoni tal-memorja:

PSHARE/MB huma statistika TPS;

SWAP/MB — Statistika tal-użu tal-bdil;

ZIP/MB — statistika tal-kompressjoni tal-paġna tal-memorja;

MEMCTL/MB — Statistika dwar l-użu ta' Bużżieqa.

Għal VMs individwali, nistgħu nkunu interessati fl-informazzjoni li ġejja. Ħbejt l-ismijiet tal-VM biex ma nħawwadx l-udjenza :). Jekk il-metrika ESXTOP hija simili għall-counter f'vSphere, nagħti l-counter korrispondenti.

MEMSZ — l-ammont ta' memorja kkonfigurat fuq il-VM (MB).
MEMSZ = GRANT + MCTLSZ + SWCUR + mhux mittiefsa.

GĦOTJA — Mogħtija lil MB.

TCHD — Attiva f'MB.

MCTL? - jekk Balloon Driver huwiex installat fuq il-VM.

MCTLSZ — Bużżieqa għal MB.

MCTLGT — l-ammont ta’ RAM (MB) li ESXi trid tieħu mill-VM permezz ta’ Balloon Driver (Memctl Target).

MCTLMAX - l-ammont massimu ta' RAM (MB) li ESXi jista' jieħu mill-VM permezz tal-Bloon Driver.

SWCUR — l-ammont attwali ta’ RAM (MB) allokat lill-VM mill-fajl Swap.

S.W.G.T. - l-ammont ta 'RAM (MB) li ESXi trid tagħti lill-VM mill-fajl Swap (Swap Target).

Ukoll, permezz ta 'ESXTOP, tista' tara informazzjoni aktar dettaljata dwar it-topoloġija NUMA tal-VM. Biex tagħmel dan, agħżel l-oqsma D, G:

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

ŻGĦAR – Nodi NUMA li fuqhom tinsab il-VM. Hawnhekk tista 'tinnota immedjatament vm wiesgħa, li ma jidħlux fuq node NUMA wieħed.

NRMEM - kemm-il megabytes tal-memorja tieħu l-VM min-node NUMA remot.

NLMEM - kemm-il megabytes tal-memorja tieħu l-VM min-node NUMA lokali.

N%L – perċentwal tal-memorja VM fuq in-nodu NUMA lokali (jekk inqas minn 80%, jistgħu jseħħu problemi ta' prestazzjoni).

Memorja fuq l-hypervisor

Jekk il-counters tas-CPU għall-hypervisor ġeneralment mhumiex ta 'interess partikolari, allura s-sitwazzjoni tinqaleb bil-memorja. Użu Għoli tal-Memorja fuq VM mhux dejjem jindika problema ta 'prestazzjoni, iżda Użu għoli tal-Memorja fuq hypervisor iqajjem tekniki ta' ġestjoni tal-memorja u jikkawża problemi ta 'prestazzjoni fil-VM. L-allarmi tal-Użu tal-Memorja Ospitanti għandhom jiġu mmonitorjati biex jipprevjenu l-VM milli tidħol fi Swap.

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

unswap

Jekk VM tkun fi Swap, il-prestazzjoni tagħha titnaqqas ħafna. It-traċċi ta' Ballooning u l-kompressjoni malajr jisparixxu wara li tidher RAM ħielsa fuq l-ospitant, iżda l-magna virtwali m'għandha l-ebda għaġla biex tirritorna minn Swap għas-server RAM.
Qabel l-ESXi 6.0, l-uniku mod affidabbli u rapidu biex toħroġ VM minn Swap kien li terġa 'tibda (biex tkun aktar preċiża, itfi/xgħel il-kontenitur). Nibda b'ESXi 6.0, għalkemm mhux pjuttost uffiċjali, deher mod li jaħdem u affidabbli biex tneħħi VM minn Swap. F'waħda mill-konferenzi, stajt nitkellem ma' wieħed mill-inġiniera ta' VMware inkarigat mis-CPU Scheduler. Huwa kkonferma li l-metodu huwa pjuttost jaħdem u sikur. Fl-esperjenza tagħna, lanqas ma kien hemm problemi magħha.

Il-kmandi attwali għat-tneħħija tal-VM mill-Iskambju deskritt Duncan Epping. Mhux se nirrepeti deskrizzjoni dettaljata, agħti biss eżempju tal-użu tagħha. Kif tistgħu taraw fil-screenshot, xi żmien wara l-eżekuzzjoni tal-kmandi speċifikati, Swap tisparixxi fuq il-VM.

Analiżi tal-prestazzjoni tal-VM f'VMware vSphere. Parti 2: Memorja

Għajnuniet għall-Ġestjoni tal-Memorja ESXi

Fl-aħħarnett, hawn xi suġġerimenti li jgħinuk tevita problemi bil-prestazzjoni tal-VM minħabba RAM:

  • Evita l-abbonament eċċessiv tal-memorja fi gruppi produttivi. Huwa mixtieq li dejjem ikollu ~20-30% memorja ħielsa fil-cluster sabiex id-DRS (u l-amministratur) ikollhom spazju biex jimmanuvraw, u l-VMs ma jidħlux fi Swap waqt il-migrazzjoni. Ukoll, tinsiex dwar il-marġni għat-tolleranza tal-ħsarat. Huwa spjaċevoli meta, meta server wieħed ifalli u l-VM jerġa 'jibda bl-użu ta' HA, xi wħud mill-magni wkoll jidħlu fi Swap.
  • F'infrastrutturi kkonsolidati ħafna, ipprova MHUX toħloq VMs b'aktar minn nofs il-memorja ospitanti. Dan għal darb'oħra jgħin lid-DRS iqassam magni virtwali madwar is-servers tal-clusters mingħajr problemi. Din ir-regola, ovvjament, mhix universali :).
  • Oqgħod attent għall-Allarm tal-Użu tal-Memorja Ospitanti.
  • Tinsiex li tinstalla VMware Tools fuq il-VM u ma titfix Ballooning.
  • Ikkunsidra l-attivazzjoni tat-TPS Inter-VM u d-diżattivazzjoni tal-Paġni Kbar f'ambjenti VDI u tat-test.
  • Jekk il-VM qed tesperjenza problemi ta' prestazzjoni, iċċekkja biex tara jekk tkunx qed tuża memorja minn node NUMA remot.
  • Oħroġ il-VM tiegħek minn Swap kemm jista' jkun malajr! Fost affarijiet oħra, jekk il-VM tkun fi Swap, għal raġunijiet ovvji, is-sistema tal-ħażna tbati.

Dak kollu għalija dwar RAM. Hawn taħt hawn artiklu relatat għal dawk li jixtiequ jħaffru d-dettalji. L-artiklu li jmiss se jkun iddedikat għal storadzh.

Links utlihttp://www.yellow-bricks.com/2015/03/02/what-happens-at-which-vsphere-memory-state/
http://www.yellow-bricks.com/2013/06/14/how-does-mem-minfreepct-work-with-vsphere-5-0-and-up/
https://www.vladan.fr/vmware-transparent-page-sharing-tps-explained/
http://www.yellow-bricks.com/2016/06/02/memory-pages-swapped-can-unswap/
https://kb.vmware.com/s/article/1002586
https://www.vladan.fr/what-is-vmware-memory-ballooning/
https://kb.vmware.com/s/article/2080735
https://kb.vmware.com/s/article/2017642
https://labs.vmware.com/vmtj/vmware-esx-memory-resource-management-swap
https://blogs.vmware.com/vsphere/2013/10/understanding-vsphere-active-memory.html
https://www.vmware.com/support/developer/converter-sdk/conv51_apireference/memory_counters.html
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-65-monitoring-performance-guide.pdf

Sors: www.habr.com

Żid kumment