Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

Bagian 1. Ngeunaan CPU

Dina artikel ieu kami baris ngobrol ngeunaan memori aksés acak (RAM) counters kinerja di vSphere.
Sigana nu mibanda memori sagalana leuwih jelas ti processor: lamun masalah kinerja timbul dina VM a, hese teu aya bewara aranjeunna. Tapi upami aranjeunna muncul, langkung hese pikeun nungkulanana. Tapi hal kahiji kahiji.

Bit téori

RAM tina mesin virtual dicokot tina mémori tina server nu VMs ngajalankeun. Ieu rada atra :). Lamun RAM server urang teu cukup for everyone, dimimitian ESXi ngagunakeun téhnik reclamation memori. Upami teu kitu, sistem operasi VM bakal ngadat sareng kasalahan aksés RAM.

ESXi mutuskeun téknik mana anu dianggo gumantung kana beban RAM:

Status memori

Wates

lampah

luhur

400% tina minFree

Sanggeus ngahontal wates luhur, kaca mémori badag dibagi jadi leutik (TPS beroperasi dina modeu baku).

atra

100% tina minFree

Kaca mémori badag dibagi kana leutik, TPS kapaksa.

hipu

64% tina minFree

TPS + Balon

teuas

32% tina minFree

TPS + Compress + Swap

saeutik

16% tina minFree

Compress + Swap + Blok

sumber

minFree teh RAM diperlukeun pikeun hypervisor pikeun ngajalankeun.

Nepi ka ESXi 4.1 inklusif, minFree dibenerkeun sacara standar - 6% tina RAM server (persentase tiasa dirobih ngalangkungan pilihan Mem.MinFreePct dina ESXi). Dina versi engké, alatan tumuwuhna mémori dina server, minFree mimiti diitung dumasar kana jumlah memori host, sarta teu salaku nilai persentase tetep.

Nilai minFree (standar) diitung kieu:

Persentase memori ditangtayungan pikeun minFree

Rentang mémori

6%

0-4 GB

4%

4-12 GB

2%

12-28 GB

1%

Sésana Mémori

sumber

Contona, pikeun server sareng 128 GB RAM, nilai MinFree bakal kieu:
MinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 MB = 1,88 GB
Nilai saleresna tiasa bénten ku sababaraha ratus MB, gumantung kana server sareng RAM.

Persentase memori ditangtayungan pikeun minFree

Rentang mémori

Nilai pikeun 128 GB

6%

0-4 GB

245,76 MB

4%

4-12 GB

327,68 MB

2%

12-28 GB

327,68 MB

1%

Mémori sésana (100 GB)

1024 MB

Ilaharna, pikeun stand produktif, ngan kaayaan High bisa dianggap normal. Pikeun bangku tés sareng pamekaran, kaayaan Hapus / Lemes tiasa ditampi. Upami RAM dina host kirang ti 64% MinFree, maka VM anu ngajalankeun éta pasti ngalaman masalah kinerja.

Dina unggal kaayaan, téhnik reclamation memori tangtu dipaké, mimitian ti TPS, nu ampir euweuh pangaruh kana kinerja VM, mun Swapping. Abdi bakal nyarios langkung seueur ngeunaan aranjeunna.

Bagikeun Kaca Transparan (TPS). TPS, kasarna nyarios, deduplikasi halaman RAM tina mesin virtual dina server.

ESXi neangan kaca RAM mesin virtual idéntik ku cacah tur ngabandingkeun jumlah Hash kaca, sarta ngaluarkeun duplikat kaca, ngaganti poto eta sareng rujukan ka kaca sarua dina mémori fisik server urang. Hasilna, konsumsi memori fisik ngurangan sarta sababaraha oversubscription memori bisa dihontal kalawan ampir euweuh dampak kinerja.

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori
sumber

Mékanisme ieu ngan ukur dianggo pikeun halaman mémori ukuranana 4 KB (kaca leutik). hypervisor nu malah teu coba mun deduplicate kaca 2 MB dina ukuran (kaca badag): kasempetan pikeun manggihan kaca idéntik ukuran ieu teu hébat.

Sacara standar, ESXi allocates memori ka kaca badag. Ngabagi kaca badag kana kaca leutik dimimitian nalika bangbarung kaayaan High geus ngahontal sarta kapaksa nalika kaayaan Hapus ngahontal (tingali tabel kaayaan hypervisor).

Upami anjeun hoyong TPS ngamimitian damel tanpa ngantosan RAM host pinuh, anjeun kedah nyetél nilai dina Pilihan Lanjutan ESXi “Mem.AllocGuestLargePage” ka 0 (standar 1). Teras alokasi halaman mémori ageung pikeun mesin virtual bakal ditumpurkeun.

Kusabab Désémber 2014, dina sakabéh sékrési ESXi, TPS antara VMs ditumpurkeun sacara standar, sakumaha kerentanan ieu kapanggih yén téoritis ngamungkinkeun hiji VM ngakses RAM tina VM sejen. Rincian dieu. Kuring henteu acan mendakan inpormasi ngeunaan palaksanaan praktis pikeun ngamangpaatkeun kerentanan TPS.

Kawijakan TPS dikawasa ku pilihan canggih "Mem.ShareForceSalting" dina ESXi:
0 - Inter-VM TPS. TPS lumaku pikeun kaca VMs béda;
1 - TPS pikeun VMs kalawan sarua "sched.mem.pshare.salt" nilai dina VMX;
2 (standar) - Intra-VM TPS. TPS dianggo pikeun halaman dina VM.

Pasti masuk akal pikeun nganonaktipkeun halaman ageung sareng ngaktipkeun Inter-VM TPS dina bangku uji. Ieu ogé bisa dipaké pikeun nangtung kalawan angka nu gede ngarupakeun VM sarupa. Contona, dina stand kalawan VDI, tabungan dina mémori fisik bisa ngahontal puluhan persen.

Balon mémori. Balon henteu deui téknik anu teu bahaya sareng transparan pikeun sistem operasi VM sapertos TPS. Tapi upami dianggo leres, anjeun tiasa hirup sareng damel sareng Ballooning.

Kalayan Alat Vmware, supir khusus anu disebut Balon Supir (alias vmmemctl) dipasang dina VM. Nalika hypervisor mimiti ngajalankeun kaluar memori fisik sarta asup kana kaayaan Leuleus, ESXi nanya ka VM pikeun meunangkeun deui RAM henteu kapake ngaliwatan Supir Balon ieu. Supir, kahareupna damel di tingkat sistem operasi sareng nyuhunkeun mémori gratis tina éta. Hypervisor ningali mana halaman mémori fisik anu dijajah Balon Supir, nyandak mémori tina mesin virtual sareng uih deui ka host. Henteu aya masalah sareng operasi OS, sabab dina tingkat OS mémori dijajah ku Balon Supir. Sacara standar, Balon Supir tiasa nyandak dugi ka 65% tina mémori VM.

Upami VMware Tools henteu dipasang dina VM atanapi Ballooning ditumpurkeun (Kuring henteu nyarankeun éta, tapi aya KB:), hypervisor geuwat pindah ka téhnik leuwih stringent pikeun nyoplokkeun memori. Kacindekan: pastikeun yén VMware Tools aya dina VM.

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori
Operasi Balon Supir tiasa dipariksa tina OS via VMware Tools.

Komprési mémori. Téhnik ieu dipaké nalika ESXi ngahontal kaayaan Hard. Sakumaha ngaranna nunjukkeun, usaha ESXi pikeun niiskeun kaca 4KB RAM kana 2KB, kukituna freeing up sababaraha spasi dina mémori fisik server urang. Téhnik ieu sacara signifikan ningkatkeun waktos aksés kana eusi halaman VM RAM, sabab halaman éta kedah dikomprés heula. Kadang-kadang henteu sadaya halaman tiasa dikomprés sareng prosésna nyalira peryogi sababaraha waktos. Ku alatan éta, téhnik ieu teu pisan éféktif dina praktekna.

Mémori Swap. Saatos fase komprési Mémori pondok, ESXi ampir inevitably (lamun VMs teu dipindahkeun ka host séjén atawa teu dipareuman) proceeds swapping. Tur upami aya saeutik pisan memori ditinggalkeun (kaayaan Low), lajeng hypervisor ogé eureun allocating kaca memori ka VM, nu bisa ngabalukarkeun masalah dina OS tamu VM.

Ieu kumaha Swapping jalan. Sawaktos Anjeun ngaktipkeun mesin virtual, file kalawan extension .vswp dijieun pikeun eta. Ieu sarua dina ukuran jeung RAM unreserved VM urang: ieu bédana antara ngonpigurasi sarta ditangtayungan memori. Nalika Swapping dijalankeun, ESXi swap halaman mémori mesin virtual kana file ieu sareng ngamimitian damel sareng éta tibatan mémori fisik server. Tangtu, memori sapertos "RAM" sababaraha ordo gedena laun ti memori nyata, sanajan .vswp on gudang gancang.

Beda sareng Ballooning, nalika halaman anu henteu dianggo dicandak tina VM, sareng Swapping halaman anu aktip dianggo ku OS atanapi aplikasi di jero VM tiasa dipindahkeun kana disk. Hasilna, kinerja VM turun ka titik beku. VM sacara resmi damel sareng sahenteuna tiasa ditumpurkeun leres tina OS. Lamun sabar 😉

Upami VM parantos angkat ka Swap, ieu mangrupikeun kaayaan darurat anu paling dihindari upami mungkin.

counters kinerja memori mesin virtual dasar

Janten urang angkat ka hal utama. Pikeun ngawas kaayaan mémori VM, aya lokét di handap ieu:

aktip - nembongkeun jumlah RAM (KB) nu VM diakses dina periode pangukuran saméméhna.

pamakéan - sarua Active, tapi salaku perséntase RAM ngonpigurasi tina VM. Diitung ngagunakeun rumus ieu: aktip ÷ mesin virtual ukuran memori ngonpigurasi.
Pamakéan Tinggi sareng Aktif, masing-masing henteu janten indikator masalah kinerja VM. Lamun VM aggressively ngagunakeun memori (sahenteuna ngakses eta), ieu lain hartosna yén aya teu cukup memori. Sabalikna, ieu mangrupikeun alesan pikeun ningali naon anu lumangsung dina OS.
Aya Alarm standar pikeun Pamakéan Mémori pikeun VM:

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

dibagikeun - jumlah VM RAM deduplicated maké TPS (dina VM atawa antara VMs).

Teges - jumlah memori fisik host (KB) anu dialokasikeun ka VM. Aktipkeun Dibagi.

Dipasang (Dibéré - Dibagi) - jumlah mémori fisik (KB) anu dikonsumsi VM tina host. Teu kaasup Dibagikeun.

Lamun bagian tina mémori VM dibikeun teu ti memori fisik host urang, tapi tina file swap, atawa mémori dicokot tina VM ngaliwatan Balon Supir, jumlah ieu teu dicokot kana rekening dina dibikeun tur dihakan.
Nilai anu dipasihkeun sareng Konsumsi anu luhur leres-leres normal. Sistem operasi saeutik demi saeutik nyandak mémori tina hypervisor sareng henteu masihan deui. Kana waktu, dina VM aktip ngajalankeun, nilai counters ieu ngadeukeutan jumlah memori ngonpigurasi, sarta tetep aya.

nol - jumlah VM RAM (KB), nu ngandung nol. Memori sapertos dianggap gratis ku hypervisor sareng tiasa dipasihkeun ka mesin virtual anu sanés. Saatos OS tamu geus ditulis hiji hal ka memori zeroed, eta mana kana Konsumsi jeung teu balik deui.

Ditangtayungan Overhead - jumlah VM RAM, (KB) ditangtayungan ku hypervisor pikeun operasi VM. Ieu jumlah leutik, tapi kudu sadia on host, disebutkeun VM moal ngamimitian.

balon - jumlah RAM (KB) dikaluarkeun tina VM ngagunakeun Balon Supir.

Dikomprés - jumlah RAM (KB) anu dikomprés.

Ditukeur — jumlah RAM (KB), nu, alatan kurangna memori fisik dina server, dipindahkeun ka disk.
Balon jeung téhnik reclamation memori séjén counters nu nol.

Ieu naon grafik kasampak kawas kalawan counters Mémori tina hiji VM ilaharna jalan kalawan 150 GB RAM.

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

Dina grafik di handap ieu, VM ngagaduhan masalah anu jelas. Di handap grafik anjeun tiasa ningali yén pikeun VM ieu sadayana téknik anu dijelaskeun pikeun damel sareng RAM dianggo. Balon pikeun VM ieu langkung ageung tibatan Dikonsumsi. Nyatana, VM langkung maot tibatan hirup.

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

ESXTOP

Sapertos CPU, upami urang hoyong gancang ngira-ngira kaayaan host, ogé dinamikana kalayan interval dugi ka 2 detik, urang kedah nganggo ESXTOP.

Layar Mémori ESXTOP disebut sareng konci "m" sareng sapertos kieu (widang B,D,H,J,K,L,O dipilih):

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

Parameter di handap ieu bakal dipikaresep ku urang:

Mem overcommit avg - nilai rata-rata oversubscription memori dina host pikeun 1, 5 jeung 15 menit. Lamun éta luhur enol, éta alesan pikeun nempo naon anu lumangsung, tapi teu salawasna hiji indikator masalah.

Dina garis PMEM/MB и VMKMEM/MB - inpormasi ngeunaan mémori fisik server sareng mémori anu sayogi pikeun VMkernel. Diantara hal anu pikaresepeun di dieu anjeun tiasa ningali nilai minfree (dina MB), kaayaan host dina mémori (bisi kami, luhur).

Baris NUMA/MB Anjeun tiasa ningali sebaran RAM sakuliah titik NUMA (sockets). Dina conto ieu, sebaran henteu rata, anu prinsipna teu pisan alus.

Di handap ieu statistik server umum pikeun téhnik reclamation memori:

PSHARE/MB - ieu téh statistik TPS;

SWAP/MB - Statistik pamakean Swap;

ZIP/MB - statistik komprési kaca mémori;

MEMCTL/MB - Statistik panggunaan Balon Supir.

Pikeun VM individu, urang bisa jadi kabetot dina inpo di handap ieu. Abdi nyumputkeun nami-nami VM supados henteu ngabingungkeun pamiarsa :). Lamun métrik ESXTOP téh sarupa jeung counter di vSphere, Kuring baris nyadiakeun counter pakait.

MEMSZ - jumlah memori ngonpigurasi dina VM (MB).
MEMSZ = hibah + MCTLSZ + SWCUR + teu kacekel.

NGASILKEUN - Diteundeun dina MB.

TCHD - Aktif dina MBytes.

MCTL? - naha Balon Supir dipasang dina VM.

MCTLSZ - Balon ka MB.

MCTLGT - jumlah RAM (MBytes) nu ESXi hayang dipiceun tina VM ngaliwatan Balon Supir (Memctl Target).

MCTLMAX - jumlah maksimum RAM (MBytes) nu ESXi bisa dipiceun tina VM ngaliwatan Balon Supir.

SWCUR - jumlah ayeuna RAM (MBytes) dialokasikeun ka VM tina file Swap.

S.W.G.T. - jumlah RAM (MBytes) nu ESXi hayang masihan ka VM tina file Swap (Swap Target).

Anjeun oge bisa nempo inpo nu leuwih wincik ngeunaan NUMA topologi VM ngaliwatan ESXTOP. Jang ngalampahkeun ieu, pilih widang D, G:

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

LEUTIK - NUMA titik dimana VM aya. Di dieu anjeun tiasa langsung perhatikeun vm lebar, anu henteu pas dina hiji titik NUMA.

NRMEM - sabaraha megabytes memori VM nyokot tina titik NUMA jauh.

NLMEM - sabaraha megabyte memori VM nyokot tina titik NUMA lokal.

N%L - persentase mémori VM dina titik NUMA lokal (upami kirang ti 80%, masalah kinerja tiasa timbul).

Mémori dina hypervisor nu

Lamun counters CPU pikeun hypervisor a biasana teu dipikaresep husus, lajeng kalawan memori kaayaan téh sabalikna. Pamakéan memori tinggi dina VM teu salawasna nunjukkeun masalah kinerja, tapi pamakéan memori tinggi on hypervisor a micu téhnik manajemén memori sarta ngabalukarkeun masalah sareng kinerja VM. Anjeun kudu ngawas Host Memory Usage alarm jeung nyegah VMs asup kana Swap.

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

Unswap

Mun hiji VM geus bray di Swap, kinerja na greatly ngurangan. Ngambah Ballooning jeung komprési gancang ngaleungit sanggeus RAM bébas nembongan dina host, tapi mesin virtual teu puguh balik ti Swap ka RAM server.
Sateuacan ESXi 6.0, hiji-hijina jalan anu tiasa dipercaya sareng gancang pikeun ngahapus VM tina Swap nyaéta reboot (leuwih tepatna, mareuman / dina wadahna). Dimimitian ku ESXi 6.0, sanaos henteu sapinuhna resmi, jalan anu tiasa dianggo sareng dipercaya pikeun ngahapus VM tina Swap parantos muncul. Dina salah sahiji konferensi, abdi tiasa ngobrol sareng salah sahiji insinyur VMware jawab CPU Scheduler. Anjeunna negeskeun yén padika éta cukup jalan sareng aman. Dina pangalaman urang, teu aya masalah sareng éta ogé.

Paréntah saleresna pikeun ngahapus VM tina Swap digambarkeun Duncan Epping. Kuring moal ngulang pedaran lengkep, Kuring ngan bakal masihan conto pamakéan na. Sakumaha anjeun tiasa tingali dina screenshot, sababaraha waktu sanggeus executing paréntah dieusian, Swap on VM ngaleungit.

Analisis kinerja VM dina VMware vSphere. Bagian 2: Mémori

Tips pikeun ngatur RAM on ESXi

Tungtungna, ieu sababaraha tip anu bakal ngabantosan anjeun ngahindarkeun masalah sareng kinerja VM kusabab RAM:

  • Hindarkeun oversubscription RAM dina klaster produktif. Disarankeun pikeun salawasna mibanda ~ 20-30% memori bébas dina kluster ambéh DRS (jeung administrator) boga kamar pikeun maneuver jeung VMs teu buka Swap salila migrasi. Ogé, ulah poho ngeunaan margin pikeun kasabaran sesar. Teu pikaresepeun nalika, nalika hiji server gagal sareng VM di-reboot nganggo HA, sababaraha mesin ogé ngalih ka Swap.
  • Dina infrastruktur anu kacida dihijikeun, coba NOT nyieun VMs kalawan memori leuwih badag batan satengah memori host. Ieu deui bakal mantuan DRS pikeun gampang ngadistribusikaeun mesin virtual sakuliah server klaster. Aturan ieu, tangtosna, henteu universal :).
  • Awas pikeun Host Memory Usage Alarm.
  • Tong hilap masang VMware Tools dina VM sareng entong mareuman Balon.
  • Pertimbangkeun ngaktipkeun Inter-VM TPS sareng nganonaktipkeun Halaman ageung dina lingkungan VDI sareng uji.
  • Upami VM ngalaman masalah kinerja, pariksa naha éta nganggo mémori tina titik NUMA jauh.
  • Hapus VM tina Swap gancang-gancang! Diantara hal anu sanés, upami VM aya dina Swap, sistem panyimpen ngalaman alesan anu jelas.

Éta sadayana pikeun kuring ngeunaan RAM. Di handap ieu aya artikel patali pikeun maranéhanana anu rék balik deeper. Artikel salajengna bakal dedicated ka storaj.

link mangpaathttp://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

sumber: www.habr.com

Tambahkeun komentar