VM performance analysis sa VMware vSphere. Bahin 2: Memorya

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

Bahin 1. Mahitungod sa CPU

Niini nga artikulo maghisgot kita mahitungod sa random access memory (RAM) performance counters sa vSphere.
Morag sa panumduman ang tanan mas klaro kaysa sa processor: kung ang mga problema sa pasundayag moabut sa usa ka VM, lisud nga dili kini mamatikdan. Apan kung kini makita, mas lisud ang pag-atubang kanila. Apan una sa tanan.

Usa ka teoriya

Ang RAM sa mga virtual machine gikuha gikan sa panumduman sa server diin ang mga VM nagdagan. Kini klaro kaayo :). Kung ang RAM sa server dili igo alang sa tanan, ang ESXi nagsugod sa paggamit sa mga teknik sa pagbawi sa memorya. Kung dili, ang mga operating system sa VM ma-crash sa mga sayup sa pag-access sa RAM.

Ang ESXi nagdesisyon kung unsang mga teknik ang gamiton depende sa pagkarga sa RAM:

Status sa memorya

Border

Mga aksyon

Hataas

400% sa minLibre

Human makaabot sa taas nga limitasyon, ang dagkong mga panid sa panumduman gibahin ngadto sa gagmay (naglihok ang TPS sa standard mode).

Tin-aw

100% sa minLibre

Ang dagkong mga panid sa memorya gibahin ngadto sa gagmay, ang TPS napugos.

humok

64% sa minLibre

TPS + Balloon

Lisud nga

32% sa minLibre

TPS + Compress + Swap

ubos

16% sa minLibre

Compress + Swap + Block

Tinubdan

Ang minFree mao ang RAM nga gikinahanglan aron makadagan ang hypervisor.

Hangtod sa ESXi 4.1 inclusive, ang minFree giayo pinaagi sa default - 6% sa RAM sa server (ang porsyento mahimong mausab pinaagi sa Mem.MinFreePct nga kapilian sa ESXi). Sa ulahi nga mga bersyon, tungod sa pagtubo sa memorya sa mga server, ang minFree nagsugod sa pagkalkulo base sa kantidad sa memorya sa host, ug dili ingon usa ka piho nga porsyento nga kantidad.

Ang minFree nga bili (default) gikalkulo sama sa mosunod:

Porsiyento sa memorya nga gitagana alang sa minFree

Sakup sa memorya

6%

0-4 GB

4%

4-12 GB

2%

12-28 GB

1%

Nagpabilin nga Memorya

Tinubdan

Pananglitan, alang sa usa ka server nga adunay 128 GB nga RAM, ang MinFree nga kantidad mahimong ingon sa mosunod:
MinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 MB = 1,88 GB
Ang tinuud nga kantidad mahimong magkalainlain sa usa ka gatos nga MB, depende sa server ug RAM.

Porsiyento sa memorya nga gitagana alang sa minFree

Sakup sa memorya

Ang bili alang sa 128 GB

6%

0-4 GB

245,76 MB

4%

4-12 GB

327,68 MB

2%

12-28 GB

327,68 MB

1%

Nabilin nga memorya (100 GB)

1024 MB

Kasagaran, alang sa mga produktibo nga baroganan, ang Hataas nga estado lamang ang maisip nga normal. Alang sa pagsulay ug pag-uswag nga mga bangko, ang Clear/Soft states mahimong madawat. Kung ang RAM sa host dili mubu sa 64% MinFree, nan ang mga VM nga nagdagan niini siguradong nakasinati mga problema sa pasundayag.

Sa matag estado, gigamit ang pipila ka mga pamaagi sa pagbawi sa memorya, sugod sa TPS, nga halos walay epekto sa performance sa VM, ngadto sa Swapping. Isulti ko kanimo ang dugang bahin kanila.

Transparent Page Sharing (TPS). Ang TPS, sa halos pagsulti, pag-deduplication sa mga panid sa RAM sa mga virtual machine sa server.

Gipangita sa ESXi ang parehas nga virtual machine nga mga panid sa RAM pinaagi sa pag-ihap ug pagtandi sa hash sum sa mga panid, ug gitangtang ang mga doble nga panid, gipulihan kini sa mga pakisayran sa parehas nga panid sa pisikal nga memorya sa server. Ingon usa ka sangputanan, ang pagkonsumo sa pisikal nga panumduman nakunhuran ug ang pipila nga sobra nga subskripsyon sa memorya mahimong makab-ot nga halos wala’y epekto sa pasundayag.

VM performance analysis sa VMware vSphere. Bahin 2: Memorya
Tinubdan

Kini nga mekanismo magamit lamang sa mga panid sa memorya nga 4 KB ang gidak-on (gagmay nga mga panid). Ang hypervisor dili gani mosulay sa pag-deduplicate sa mga panid nga 2 MB ang gidak-on (dagko nga mga panid): ang kahigayonan sa pagpangita og parehas nga mga panid niini nga gidak-on dili dako.

Sa kasagaran, ang ESXi naggahin ug memorya sa dagkong mga panid. Ang pagbahin sa dagkong mga panid ngadto sa gagmay nga mga panid magsugod sa dihang ang High state threshold maabot ug mapugos sa dihang ang Clear state maabot (tan-awa ang hypervisor state table).

Kung gusto nimo nga magsugod ang TPS sa pagtrabaho nga wala maghulat nga puno ang host RAM, kinahanglan nimo nga ibutang ang kantidad sa Advanced Options ESXi “Mem.AllocGuestLargePage” ngadto sa 0 (default 1). Unya ang alokasyon sa dagkong mga panid sa panumduman alang sa mga virtual machine ma-disable.

Sukad sa Disyembre 2014, sa tanan nga mga pagpagawas sa ESXi, ang TPS tali sa mga VM gi-disable pinaagi sa default, tungod kay nakit-an ang usa ka pagkahuyang nga sa teorya gitugotan ang usa ka VM nga maka-access sa RAM sa lain nga VM. Mga detalye dinhi. Wala koy nakit-an nga impormasyon bahin sa praktikal nga pagpatuman sa pagpahimulos sa kahuyang sa TPS.

Ang polisiya sa TPS kontrolado pinaagi sa advanced option “Mem.ShareForceSalting” sa ESXi:
0 - Inter-VM TPS. Ang TPS nagtrabaho alang sa mga panid sa lainlaing mga VM;
1 - TPS alang sa mga VM nga adunay parehas nga "sched.mem.pshare.salt" nga kantidad sa VMX;
2 (default) – Intra-VM TPS. Ang TPS nagtrabaho alang sa mga panid sa sulod sa usa ka VM.

Seguradong makatarunganon ang pag-disable sa dagkong mga panid ug pagpagana sa Inter-VM TPS sa mga test bench. Mahimo usab kini gamiton alang sa mga baroganan nga adunay daghang parehas nga mga VM. Pananglitan, sa mga stand nga adunay VDI, ang pagtipig sa pisikal nga panumduman mahimong moabot sa napulo ka porsyento.

Memory Ballooning. Ang ballooning dili na usa ka dili makadaot ug transparent nga teknik para sa VM operating system sama sa TPS. Apan kung gigamit sa husto, mahimo kang mabuhi ug bisan sa pagtrabaho sa Ballooning.

Uban sa Vmware Tools, usa ka espesyal nga drayber nga gitawag ug Balloon Driver (aka vmmemctl) ang na-install sa VM. Kung ang hypervisor magsugod nga mahurot sa pisikal nga panumduman ug mosulod sa Soft state, gihangyo ni ESXi ang VM nga bawion ang wala magamit nga RAM pinaagi niining Balloon Driver. Ang drayber, sa baylo, nagtrabaho sa lebel sa operating system ug nangayo ug libre nga memorya gikan niini. Nakita sa hypervisor kung unsang mga panid sa pisikal nga memorya ang giokupar sa Balloon Driver, gikuha ang memorya gikan sa virtual machine ug gibalik kini sa host. Wala’y mga problema sa operasyon sa OS, tungod kay sa lebel sa OS ang memorya giokupahan sa Balloon Driver. Sa kasagaran, ang Balloon Driver mahimong mokuha hangtod sa 65% sa memorya sa VM.

Kung ang VMware Tools wala ma-install sa VM o ang Ballooning na-disable (Dili nako kini girekomenda, apan adunay KB:), ang hypervisor mobalhin dayon sa mas estrikto nga mga teknik para sa pagtangtang sa memorya. Panapos: siguroha nga ang VMware Tools naa sa VM.

VM performance analysis sa VMware vSphere. Bahin 2: Memorya
Ang operasyon sa Balloon Driver mahimong masusi gikan sa OS pinaagi sa VMware Tools.

Memory Compression. Kini nga teknik gigamit sa dihang ang ESXi makaabot sa Hard state. Sama sa gisugyot sa ngalan, ang ESXi misulay sa pag-compress sa usa ka 4KB nga panid sa RAM ngadto sa 2KB, sa ingon nagpagawas sa pipila ka luna sa pisikal nga memorya sa server. Kini nga teknik labi nga nagdugang sa oras sa pag-access sa mga sulud sa mga panid sa VM RAM, tungod kay ang panid kinahanglan una nga ma-decompress. Usahay dili tanan nga mga panid mahimong ma-compress ug ang proseso mismo nagkinahanglan og pipila ka panahon. Busa, kini nga teknik dili kaayo epektibo sa praktis.

Memory Swapping. Human sa usa ka mubo nga hugna sa Memory Compression, ang ESXi halos dili kalikayan (kung ang mga VM wala mobalhin sa ubang mga host o wala gipalong) mobalhin ngadto sa Swapping. Ug kung gamay ra ang nahabilin nga memorya (Ubos nga estado), ang hypervisor mihunong usab sa paggahin sa mga panid sa panumduman sa VM, nga mahimong hinungdan sa mga problema sa bisita nga OS sa VM.

Ingon niini ang pagtrabaho sa Swapping. Kung imong i-on ang usa ka virtual nga makina, usa ka file nga adunay extension nga .vswp gihimo alang niini. Parehas kini sa gidak-on sa wala gitipigan nga RAM sa VM: kini ang kalainan tali sa gi-configure ug gireserba nga memorya. Kung nagdagan na ang Swapping, gibaylo sa ESXi ang mga panid sa memorya sa virtual machine sa kini nga file ug nagsugod sa pagtrabaho uban niini imbes nga pisikal nga memorya sa server. Siyempre, ang ingon nga "RAM" nga panumduman mao ang daghang mga order sa kadako nga mas hinay kaysa tinuod nga panumduman, bisan kung ang .vswp naa sa paspas nga pagtipig.

Dili sama sa Ballooning, kung ang wala magamit nga mga panid gikuha gikan sa usa ka VM, nga adunay Swapping nga mga panid nga aktibo nga gigamit sa OS o mga aplikasyon sa sulod sa VM mahimong ibalhin sa disk. Ingon usa ka sangputanan, ang pasundayag sa VM nahulog sa punto nga nagyelo. Ang VM pormal nga nagtrabaho ug sa labing gamay mahimo kini nga ma-disable gikan sa OS. Kung mapailubon ka 😉

Kung ang mga VM miadto sa Swap, kini usa ka emerhensya nga sitwasyon nga labing maayo nga likayan kung mahimo.

Basic virtual machine memory performance counters

Mao nga nakaabut kami sa panguna nga butang. Aron mamonitor ang kahimtang sa memorya sa VM, adunay mga mosunod nga mga counter:

Aktibo — nagpakita sa gidaghanon sa RAM (KB) nga na-access sa VM sa miaging panahon sa pagsukod.

paggamit - parehas sa Aktibo, apan ingon usa ka porsyento sa gi-configure nga RAM sa VM. Gikalkulo gamit ang mosunod nga pormula: aktibo ÷ virtual machine nga gi-configure ang gidak-on sa memorya.
Ang Taas nga Paggamit ug Aktibo, matag usa, dili kanunay usa ka timailhan sa mga problema sa pasundayag sa VM. Kung ang VM agresibo nga naggamit sa memorya (labing menos ang pag-access niini), wala kini magpasabot nga walay igo nga memorya. Hinuon, kini usa ka hinungdan aron tan-awon kung unsa ang nahitabo sa OS.
Adunay usa ka standard nga Alarm alang sa Memory Usage alang sa mga VM:

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

Gipaambit — ang kantidad sa VM RAM nga na-deduplicate gamit ang TPS (sa sulod sa VM o tali sa mga VM).

Tinuod — ang kantidad sa host physical memory (KB) nga gigahin sa VM. Makapahimo sa Shared.

Gipadayon (Granted - Shared) - ang gidaghanon sa pisikal nga memorya (KB) nga gigamit sa VM gikan sa host. Wala naglakip sa Shared.

Kung ang bahin sa memorya sa VM gihatag dili gikan sa pisikal nga panumduman sa host, apan gikan sa usa ka swap file, o ang memorya gikuha gikan sa VM pinaagi sa Balloon Driver, kini nga kantidad wala gikonsiderar sa Granted and Consumed.
Ang Taas nga Gihatag ug Gikonsumo nga mga kantidad hingpit nga normal. Ang operating system anam-anam nga nagkuha sa memorya gikan sa hypervisor ug dili kini ibalik. Sa paglabay sa panahon, sa usa ka aktibo nga nagdagan nga VM, ang mga kantidad sa kini nga mga counter nagkaduol sa kantidad sa na-configure nga panumduman, ug nagpabilin didto.

zero — ang kantidad sa VM RAM (KB), nga adunay mga sero. Ang ingon nga memorya giisip nga libre sa hypervisor ug mahimong ihatag sa ubang mga virtual machine. Human masulat sa guest OS ang usa ka butang sa zeroed memory, kini moadto sa Consumed ug dili na mobalik.

Gireserba nga Overhead — ang kantidad sa VM RAM, (KB) nga gitagana sa hypervisor alang sa operasyon sa VM. Kini usa ka gamay nga kantidad, apan kini kinahanglan nga magamit sa host, kung dili ang VM dili magsugod.

Balon — ang kantidad sa RAM (KB) nga gikuha gikan sa VM gamit ang Balloon Driver.

Gipilit — ang kantidad sa RAM (KB) nga gi-compress.

Gibaylo — ang kantidad sa RAM (KB), nga, tungod sa kakulang sa pisikal nga panumduman sa server, gibalhin sa disk.
Ang mga counter sa balloon ug uban pang mga teknik sa reclamation sa memorya katumbas sa zero.

Kini ang hitsura sa graph sa mga memory counter sa usa ka normal nga nagtrabaho nga VM nga adunay 150 GB nga RAM.

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

Sa graph sa ubos, ang VM adunay klaro nga mga problema. Ubos sa graph imong makita nga alang niini nga VM ang tanan nga gihulagway nga mga teknik alang sa pagtrabaho uban sa RAM gigamit. Ang balon alang niini nga VM mas dako kay sa Gikonsumo. Sa pagkatinuod, si VM mas patay kaysa buhi.

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

ESXTOP

Sama sa CPU, kung gusto namon nga dali nga masusi ang kahimtang sa host, ingon man ang dinamika niini nga adunay agwat nga hangtod sa 2 segundos, kinahanglan namon gamiton ang ESXTOP.

Ang ESXTOP Memory screen gitawag gamit ang "m" nga yawe ug ingon niini (mga field B,D,H,J,K,L,O ang gipili):

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

Ang mosunod nga mga parameter makapainteres kanato:

Mem overcommit avg — average nga kantidad sa memorya nga oversubscription sa host alang sa 1, 5 ug 15 minuto. Kung kini labaw sa zero, nan kini usa ka hinungdan nga tan-awon kung unsa ang nanghitabo, apan dili kanunay usa ka timailhan sa mga problema.

Sa mga linya PMEM/MB и VMKMEM/MB — impormasyon bahin sa pisikal nga panumduman sa server ug ang panumduman nga magamit sa VMkernel. Lakip sa makapaikag nga mga butang dinhi imong makita ang minfree nga kantidad (sa MB), ang host state sa memorya (sa among kaso, taas).

Sa linya NUMA/MB makita nimo ang pag-apod-apod sa RAM sa mga NUMA node (sockets). Niini nga pananglitan, ang pag-apod-apod dili patas, nga sa prinsipyo dili kaayo maayo.

Ang mosunod mao ang kinatibuk-ang estadistika sa server alang sa mga teknik sa pagbawi sa memorya:

PSHARE/MB — kini ang mga estadistika sa TPS;

SWAP/MB - Pagbaylo sa mga istatistika sa paggamit;

ZIP/MB - mga istatistika sa kompresiyon sa panid sa memorya;

MEMCTL/MB - Mga istatistika sa paggamit sa Balloon Driver.

Alang sa indibidwal nga mga VM, mahimo kaming interesado sa mosunod nga impormasyon. Gitago nako ang mga name sa mga VM para di maglibog ang audience :). Kung ang ESXTOP metric parehas sa counter sa vSphere, ihatag nako ang katugbang nga counter.

MEMSZ — kantidad sa memorya nga gi-configure sa VM (MB).
MEMSZ = GRANT + MCTLSZ + SWCUR + wala matandog.

PAGHATAG - Gihatag sa MB.

TCHD — Aktibo sa MByte.

MCTL? - kung ang Balloon Driver na-install sa VM.

MCTLSZ — Balloon ngadto sa MB.

MCTLGT — ang kantidad sa RAM (MBytes) nga gusto tangtangon sa ESXi gikan sa VM pinaagi sa Balloon Driver (Memctl Target).

MCTLMAX — ang pinakataas nga kantidad sa RAM (MBytes) nga matangtang sa ESXi gikan sa usa ka VM pinaagi sa Balloon Driver.

SWCUR — ang kasamtangan nga kantidad sa RAM (MBytes) nga gigahin sa VM gikan sa Swap file.

S.W.G.T. — ang kantidad sa RAM (MBytes) nga gusto ihatag sa ESXi sa VM gikan sa Swap file (Swap Target).

Mahimo usab nimong tan-awon ang mas detalyado nga impormasyon bahin sa NUMA topology sa VM pinaagi sa ESXTOP. Aron mahimo kini, pilia ang mga natad D, G:

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

GAMAY – NUMA nodes diin nahimutang ang VM. Dinhi mamatikdan dayon nimo ang lapad nga vm, nga dili mohaum sa usa ka NUMA node.

NRMEM – pila ka megabytes sa memorya ang gikuha sa VM gikan sa hilit nga NUMA node.

NLMEM – pila ka megabytes sa memorya ang gikuha sa VM gikan sa lokal nga NUMA node.

N%L – porsyento sa memorya sa VM sa lokal nga NUMA node (kung ubos pa sa 80%, mahimong mutungha ang mga problema sa performance).

Memorya sa hypervisor

Kung ang mga counter sa CPU alang sa usa ka hypervisor kasagaran dili partikular nga interes, nan uban sa panumduman ang sitwasyon mao ang kaatbang. Ang Taas nga Paggamit sa Memorya sa usa ka VM dili kanunay nga nagpaila sa usa ka problema sa pasundayag, apan ang taas nga Paggamit sa Memorya sa usa ka hypervisor nagpalihok sa mga pamaagi sa pagdumala sa memorya ug nagpahinabog mga problema sa pasundayag sa VM. Kinahanglan nimong bantayan ang mga alarma sa Paggamit sa Memorya sa Host ug pugngan ang mga VM sa pagsulod sa Swap.

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

Unswap

Kung ang usa ka VM madakpan sa Swap, ang pasundayag niini maminusan pag-ayo. Ang mga bakas sa Ballooning ug compression dali nga mawala human makita ang libre nga RAM sa host, apan ang virtual machine wala magdali sa pagbalik gikan sa Swap ngadto sa RAM sa server.
Sa wala pa ang ESXi 6.0, ang bugtong kasaligan ug paspas nga paagi aron makuha ang usa ka VM gikan sa Swap mao ang pag-reboot (mas tukma, i-off / ang sulud). Sugod sa ESXi 6.0, bisan kung dili hingpit nga opisyal, usa ka nagtrabaho ug kasaligan nga paagi aron makuha ang usa ka VM gikan sa Swap nagpakita. Sa usa sa mga komperensya, nakigsulti ako sa usa sa mga inhenyero sa VMware nga responsable sa CPU Scheduler. Gikumpirma niya nga ang pamaagi epektibo ug luwas. Sa among kasinatian, wala usab kini mga problema.

Ang aktwal nga mga sugo alang sa pagtangtang sa usa ka VM gikan sa Swap gihulagway Duncan Epping. Dili nako balikon ang detalyado nga paghulagway, maghatag lang ako usa ka pananglitan sa paggamit niini. Sama sa imong makita sa screenshot, pipila ka panahon human sa pagpatuman sa gitakda nga sugo, ang Swap sa VM mawala.

VM performance analysis sa VMware vSphere. Bahin 2: Memorya

Mga tip sa pagdumala sa RAM sa ESXi

Sa katapusan, aniay pipila ka mga tip nga makatabang kanimo nga malikayan ang mga problema sa pasundayag sa VM tungod sa RAM:

  • Likayi ang sobrang subskripsyon sa RAM sa mga produktibong pungpong. Gisugyot nga kanunay adunay ~ 20-30% nga libre nga panumduman sa cluster aron ang DRS (ug ang tagdumala) adunay lugar sa pagmaniobra ug ang mga VM dili moadto sa Swap sa panahon sa paglalin. Usab, ayaw kalimti ang bahin sa margin alang sa pagtugot sa sayup. Dili maayo kung, kung ang usa ka server mapakyas ug ang VM gi-reboot gamit ang HA, ang pipila sa mga makina moadto usab sa Swap.
  • Sa kaayo nga mga imprastraktura, sulayi ang DILI paghimo og mga VM nga adunay memorya nga labaw sa katunga sa memorya sa host. Makatabang kini pag-usab sa DRS sa pag-apod-apod sa mga virtual machine sa mga cluster server nga wala’y problema. Kini nga lagda, siyempre, dili unibersal :).
  • Pagbantay alang sa Host Memory Usage Alarm.
  • Ayaw kalimti ang pag-install sa VMware Tools sa VM ug ayaw pagpalonga ang Ballooning.
  • Ikonsiderar ang pagpagana sa Inter-VM TPS ug pag-disable sa Large Pages sa VDI ug pagsulay sa mga palibot.
  • Kung ang VM nakasinati og mga isyu sa pasundayag, susiha kung naggamit ba kini og memorya gikan sa usa ka hilit nga NUMA node.
  • Kuhaa ang mga VM gikan sa Swap sa labing dali nga panahon! Lakip sa ubang mga butang, kung ang VM naa sa Swap, ang sistema sa pagtipig nag-antos sa klaro nga mga hinungdan.

Kana ang tanan alang kanako bahin sa RAM. Sa ubos mao ang mga may kalabutan nga mga artikulo alang niadtong gusto nga moadto sa mas lawom. Ang sunod nga artikulo ipahinungod sa storaj.

Mapuslanon nga mga linkhttp://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

Source: www.habr.com

Idugang sa usa ka comment