
Ha VMware vSphere (vagy bĂĄrmely mĂĄs technolĂłgiai stack) alapĂș virtuĂĄlis infrastruktĂșrĂĄt adminisztrĂĄlsz, akkor valĂłszĂnƱleg gyakran hallod a felhasznĂĄlĂłktĂłl a panaszokat: âA virtuĂĄlis gĂ©p lassan mƱködik!â. Ebben a ciklusban megvizsgĂĄlom a teljesĂtmĂ©nymutatĂłkat, hogy mitĆl Ă©s miĂ©rt âlassulâ a gĂ©p, Ă©s hogyan Ă©rhetjĂŒk el, hogy ne âlassuljonâ.
A virtuĂĄlis gĂ©pek teljesĂtmĂ©nyĂ©nek következĆ aspektusait fogom megvizsgĂĄlni:
- CPU,
- RAM,
- DISK,
- HĂĄlĂłzat.
A CPU-val kezdem.
A teljesĂtmĂ©ny elemzĂ©sĂ©hez szĂŒksĂ©gĂŒnk lesz:
- vCenter TeljesĂtmĂ©nymĂ©rĆk â teljesĂtmĂ©nymĂ©rĆk, amelyek grafikonjait a vSphere Clienten keresztĂŒl tekinthetjĂŒk meg. Az ezekre vonatkozĂł informĂĄciĂłk bĂĄrmely kliens verziĂłban elĂ©rhetĆk (a âvastagâ kliens C#-ban, web kliens Flexen Ă©s web kliens HTML5-ben). Ezekben a cikkekben a C#-klienbĆl kĂ©szĂŒlt kĂ©pernyĆfotĂłkat fogjuk hasznĂĄlni, csak azĂ©rt, mert jobban mutatnak a miniatƱrön :)
- ESXTOP â egy eszköz, amelyet az ESXi parancssorĂĄbĂłl indĂtanak. Ezzel valĂłs idĆben kaphatunk teljesĂtmĂ©nymĂ©rĆ Ă©rtĂ©keket, vagy ezeket egy adott idĆszak alatt .csv fĂĄjlba exportĂĄlhatjuk tovĂĄbbi elemzĂ©s cĂ©ljĂĄbĂłl. KĂ©sĆbb rĂ©szletesebben mesĂ©lek errĆl az eszközrĆl, Ă©s nĂ©hĂĄny hasznos linket is megosztok a dokumentĂĄciĂłrĂłl Ă©s a tĂ©mĂĄval kapcsolatos cikkekrĆl.
Egy kis elmélet

Az ESXi-ben minden vCPU (a virtuĂĄlis gĂ©p magja) mƱködĂ©séért egy kĂŒlön folyamat felelĆs - vilĂĄg a VMware terminolĂłgia szerint. Vannak szolgĂĄltatĂł folyamatok is, de a virtuĂĄlis gĂ©p teljesĂtmĂ©nyĂ©nek elemzĂ©se szempontjĂĄbĂłl ezek kevĂ©sbĂ© Ă©rdekesek.
A folyamat az ESXi-ben négy ållapotban lehet:
- Run â a folyamat valamilyen hasznos munkĂĄt vĂ©gez.
- VĂĄrakozĂĄs â a folyamat nem vĂ©gez munkĂĄt (inaktĂv), vagy bemeneti/kimeneti mƱveletre vĂĄr.
- KöltsĂ©gstop â olyan ĂĄllapot, amely többmagos virtuĂĄlis gĂ©peknĂ©l lĂ©p fel. Akkor fordul elĆ, amikor a hypervisor CPU ĂŒtemezĆje (ESXi CPU Scheduler) nem tudja ĂŒtemezni a virtuĂĄlis gĂ©p összes aktĂv magjĂĄnak egyidejƱ vĂ©grehajtĂĄsĂĄt a fizikai szerver magjain. A fizikai vilĂĄgban minden processzormag pĂĄrhuzamosan mƱködik, a vendĂ©g operĂĄciĂłs rendszer pedig a virtuĂĄlis gĂ©pben hasonlĂł viselkedĂ©sre szĂĄmĂt, Ăgy a hypervisornak le kell lassĂtania azokat a virtuĂĄlis gĂ©p magokat, amelyek gyorsabban tudjĂĄk befejezni a ciklust. Az ESXi modern verziĂłiban a CPU ĂŒtemezĆ egy olyan mechanizmust hasznĂĄl, amelyet relaxĂĄlt egyĂŒttes ĂŒtemezĂ©snek neveznek: a hypervisor figyelembe veszi a virtuĂĄlis gĂ©p âleggyorsabbâ Ă©s âleglassĂșbbâ magja közötti eltĂ©rĂ©st (skew). Ha az eltĂ©rĂ©s egy bizonyos kĂŒszöböt meghalad, a âgyorsâ mag kosztop ĂĄllapotba kerĂŒl. Ha a virtuĂĄlis gĂ©p magjai sok idĆt töltenek ebben az ĂĄllapotban, az teljesĂtmĂ©nyproblĂ©mĂĄkhoz vezethet.
- KĂ©sz â a folyamat ebbe az ĂĄllapotba lĂ©p, amikor a hypervisor nem tud erĆforrĂĄsokat biztosĂtani a vĂ©grehajtĂĄsĂĄhoz. A magas ready Ă©rtĂ©kek teljesĂtmĂ©nyproblĂ©mĂĄkat okozhatnak a virtuĂĄlis gĂ©p szĂĄmĂĄra.
A virtuĂĄlis gĂ©p CPU teljesĂtmĂ©nymĂ©rĆ fĆ szĂĄmlĂĄlĂłi
CPU hasznĂĄlat, %. Megmutatja a CPU hasznĂĄlatĂĄnak szĂĄzalĂ©kos arĂĄnyĂĄt egy adott idĆszak alatt.

Hogyan elemezzĂŒk? Ha a virtuĂĄlisgĂ©p folyamatosan 90%-os CPU-t hasznĂĄl vagy 100%-os csĂșcsokat mutat, akkor problĂ©mĂĄink vannak. A problĂ©mĂĄk nemcsak a virtuĂĄlis gĂ©pen belĂŒli alkalmazĂĄsok âlassĂșâ mƱködĂ©sĂ©ben, hanem a virtuĂĄlis gĂ©p hĂĄlĂłzati elĂ©rhetetlensĂ©gĂ©ben is megnyilvĂĄnulhatnak. Ha a monitoring rendszere azt mutatja, hogy a virtuĂĄlis gĂ©p idĆszakosan leĂĄll, figyeljen a CPU hasznĂĄlat grafikonjain megjelenĆ csĂșcsokra.
Van egy standard riasztĂĄs, amely megjelenĂti a virtuĂĄlis gĂ©p CPU terhelĂ©sĂ©t:

Mit tegyĂŒnk? Ha a virtuĂĄlis gĂ©p CPU hasznĂĄlata folyamatosan a hatĂĄrĂ©rtĂ©k felett van, Ă©rdemes megfontolni a vCPU szĂĄmĂĄnak növelĂ©sĂ©t (sajnos ez nem mindig segĂt) vagy a virtuĂĄlis gĂ©p ĂĄtköltöztetĂ©sĂ©t egy erĆsebb processzorral rendelkezĆ szerverre.
CPU hasznĂĄlat Mhz-ben
A vCenter grafikonokon a hasznĂĄlat % -ban csak az egĂ©sz virtuĂĄlis gĂ©pre vonatkozĂłan nĂ©zhetĆ meg, egyes magok grafikonai nincsenek (az Esxtop Ă©rtĂ©kek % -ban a magok szerint megvannak). Minden egyes magra kĂŒlön meg lehet nĂ©zni a hasznĂĄlatot MHz-ben.
Hogyan elemezzĂŒk? ElĆfordul, hogy az alkalmazĂĄs nincs optimalizĂĄlva a többmagos architektĂșrĂĄra: csak az egyik magot hasznĂĄlja 100%-osan, mĂg a többi terheletlenĂŒl marad. PĂ©ldĂĄul az MS SQL alapĂ©rtelmezett biztonsĂĄgi mentĂ©si beĂĄllĂtĂĄsaival csak egy magon indĂtja a folyamatot. Ennek eredmĂ©nyekĂ©nt a biztonsĂĄgi mentĂ©s lassulĂĄsa nem a lemez sebessĂ©gĂ©nek köszönhetĆ (ez volt az, amire a felhasznĂĄlĂł eleinte panaszkodott), hanem mert a processzor nem bĂrja a terhet. A problĂ©ma megoldhatĂł a paramĂ©terek megvĂĄltoztatĂĄsĂĄval: a biztonsĂĄgi mentĂ©sek pĂĄrhuzamosan több fĂĄjlban (Ăgy több folyamatban) indultak.

A magok egyenlĆtlen terhelĂ©sĂ©nek pĂ©ldĂĄja.
ElĆfordul olyan helyzet is (ahogyan a fenti grafikonon lĂĄthatĂł), amikor a magok egyenlĆtlenĂŒl vannak terhelve, Ă©s nĂ©hĂĄnyukon 100%-os csĂșcsok figyelhetĆk meg. AkĂĄrcsak egyetlen mag terhelĂ©sĂ©nĂ©l, a CPU hasznĂĄlat alarm nem fog mƱködni (ez az egĂ©sz VM-re vonatkozik), de teljesĂtmĂ©nyproblĂ©mĂĄk lĂ©pnek fel.
Mit tegyĂŒnk? Ha a VM-ben futĂł szoftver egyenlĆtlenĂŒl terheli a magokat (csak egy magot vagy a magok egy rĂ©szĂ©t hasznĂĄlja), nincs Ă©rtelme a magok szĂĄmĂĄnak növelĂ©sĂ©nek. Ilyen esetben jobb, ha a VM-et egy teljesĂtmĂ©nyben erĆsebb processzorral rendelkezĆ szerverre helyezzĂŒk ĂĄt.
Ărdemes lehet ellenĆrizni a szerver BIOS-a energiatakarĂ©kossĂĄgi beĂĄllĂtĂĄsait is. Sokan a BIOS-ban a Nagy TeljesĂtmĂ©ny mĂłdot vĂĄlasztjĂĄk, ezzel letiltva a C-state Ă©s P-state energiatakarĂ©kos technolĂłgiĂĄkat. A modern Intel processzorokban alkalmazott Turbo Boost technolĂłgia az egyes processzormagok ĂłrajelĂ©nek növelĂ©sĂ©re szolgĂĄl mĂĄs magok rovĂĄsĂĄra. De ez csak akkor mƱködik, ha az energiatakarĂ©kos technolĂłgiĂĄk be vannak kapcsolva. Ha ezeket kikapcsoljuk, a processzor nem tudja csökkenteni az energifogyasztĂĄst azoknĂĄl a magoknĂĄl, amelyek nincsenek terhelve.
A VMware azt javasolja, hogy ne kapcsoljuk ki az energiatakarĂ©kos technolĂłgiĂĄkat a szervereken, hanem olyan beĂĄllĂtĂĄsokat vĂĄlasszunk, amelyek maximĂĄlisan a hipervizorra bĂzzĂĄk az energiamenedzsmentet. Ilyen esetben a hipervizor energiatakarĂ©kossĂĄgi beĂĄllĂtĂĄsainĂĄl a Nagy TeljesĂtmĂ©ny mĂłdot kell vĂĄlasztani.
Ha az infrastruktĂșrĂĄban kĂŒlön VM-ek (vagy a VM-ek magjai) magasabb CPU frekvenciĂĄt igĂ©nyelnek, az energiatakarĂ©kossĂĄg helyes beĂĄllĂtĂĄsa jelentĆsen javĂthatja a teljesĂtmĂ©nyĂŒket.

CPU Ready (Készség)
Ha a VM magja (vCPU) Ready ĂĄllapotban van, akkor nem vĂ©gez hasznos munkĂĄt. Ez az ĂĄllapot akkor fordul elĆ, amikor a hypervisor nem talĂĄl szabad fizikai magot, amelyre a VM vCPU folyamatot rĂĄ lehetne bĂzni.
Hogyan elemezzĂŒk? ĂltalĂĄban, ha a virtuĂĄlis gĂ©p magjai több mint 10% idĆt Ready ĂĄllapotban vannak, akkor teljesĂtmĂ©nyproblĂ©mĂĄkat fog Ă©szlelni. EgyszerƱbben fogalmazva, a VM több mint 10% idĆt tölt azzal, hogy vĂĄrja a fizikai erĆforrĂĄsok elĂ©rhetĆsĂ©gĂ©t.
A vCenterben megtekinthetĆ kĂ©t mutatĂł, amelyek a CPU Ready-hez kapcsolĂłdnak:
- Readiness,
- Ready.
MindkĂ©t mutatĂł Ă©rtĂ©ke megtekinthetĆ a teljes VM-en, valamint az egyes magokon is.
A Readiness mutatĂł azonnal szĂĄzalĂ©kos Ă©rtĂ©ket jelez, de csak valĂłs idĆben (az utolsĂł ĂłrĂĄra vonatkozĂł adatok, 20 mĂĄsodperces mĂ©rĂ©si intervallumban). Ezt a mutatĂłt inkĂĄbb csak a 'forrĂł nyom' problĂ©mĂĄk keresĂ©sĂ©re Ă©rdemes hasznĂĄlni.
A Ready mutatĂł Ă©rtĂ©ke törtĂ©neti perspektĂvĂĄbĂłl is megtekinthetĆ. Ez hasznos az összefĂŒggĂ©sek megĂĄllapĂtĂĄsĂĄhoz Ă©s a problĂ©ma mĂ©lyebb elemzĂ©sĂ©hez. PĂ©ldĂĄul, ha a virtuĂĄlis gĂ©p teljesĂtmĂ©nyproblĂ©mĂĄkba ĂŒtközik egy adott idĆpontban, akkor az emelkedett CPU Ready Ă©rtĂ©k intervallumait össze lehet hasonlĂtani a szerver ĂĄltalĂĄnos terhelĂ©sĂ©vel, ahol a VM mƱködik, Ă©s intĂ©zkedĂ©seket lehet tenni a terhelĂ©s csökkentĂ©sĂ©re (ha a DRS nem boldogult).
A Ready, a Readiness-tĆl eltĂ©rĆen, nem szĂĄzalĂ©kokban, hanem milliszekundumban jelenik meg. Ez egy Summation tĂpusĂș mutatĂł, azaz azt mutatja, hogy a VM mag mennyi idĆt töltött Ready ĂĄllapotban a mĂ©rĂ©si idĆszak alatt. Az Ă©rtĂ©ket egy egyszerƱ kĂ©plettel ĂĄt lehet szĂĄmĂtani szĂĄzalĂ©kokba:
(CPU ready summation value / (chart default update interval in seconds * 1000)) * 100 = CPU ready %
PĂ©ldĂĄul egy az alĂĄbbi grafikonon a virtuĂĄlis gĂ©p teljes Ready csĂșcsĂ©rtĂ©ke a következĆ lesz:


A Ready szĂĄzalĂ©kĂĄnak szĂĄmĂtĂĄsakor Ă©rdemes figyelembe venni kĂ©t dolgot:
- A teljes VM Ready értéke a magok Ready értékeinek összege.
- A mĂ©rĂ©si intervallum. ValĂłs idĆben ez 20 mĂĄsodperc, pĂ©ldĂĄul a napi grafikonok esetĂ©ben 300 mĂĄsodperc.
AktĂv hibakeresĂ©s sorĂĄn ezeket az egyszerƱ pillanatokat könnyen el lehet mulasztani, Ă©s Ă©rtĂ©kes idĆt lehet pazarolni nem lĂ©tezĆ problĂ©mĂĄk megoldĂĄsĂĄra.
A Ready Ă©rtĂ©ket az alĂĄbbi diagram adatai alapjĂĄn szĂĄmĂtjuk ki. (324474/(20*1000))*100 = 1622% az egĂ©sz VM-re. Ha a magokra nĂ©zĂŒnk, mĂĄr nem tƱnik annyira ijesztĆnek: 1622/64 = 25% magonkĂ©nt. Ebben az esetben a csapda felfedezĂ©se meglehetĆsen egyszerƱ: a Ready Ă©rtĂ©k irreĂĄlis. De ha 10-20% van az egĂ©sz VM-re több mag esetĂ©n, akkor minden mag esetĂ©ben az Ă©rtĂ©k a normĂĄl tartomĂĄnyban lehet.

Mit tegyĂŒnk? A magas Ready Ă©rtĂ©k azt jelzi, hogy a szervernek nincs elegendĆ CPU erĆforrĂĄsa a virtuĂĄlis gĂ©pek normĂĄlis mƱködĂ©sĂ©hez. Ilyen helyzetben csak a CPU tĂșlterhelĂ©s csökkentĂ©se (vCPU:pCPU) marad. NyilvĂĄnvalĂł, hogy ezt a meglĂ©vĆ VM paramĂ©tereinek csökkentĂ©sĂ©vel vagy egyes VM-ek migrĂĄlĂĄsĂĄval mĂĄs szerverekre lehet elĂ©rni.
Co-stop
Hogyan elemezzĂŒk? Ez a szĂĄmlĂĄlĂł szintĂ©n Summation tĂpusĂș, Ă©s hasonlĂłan a Ready-hoz, szĂĄzalĂ©kokra konvertĂĄlhatĂł:
(CPU co-stop summation value / (diagram alapĂ©rtelmezett frissĂtĂ©si intervalluma mĂĄsodpercben * 1000)) * 100 = CPU co-stop %
Itt is figyelni kell a VM magjainak szåmåra és a mérési intervallumra.
A co-stop ållapotban a mag nem végez hasznos munkåt. A VM méretének és a szerver terhelésének helyes megvålasztåsåval a co-stop szåmlålónak közel kell lennie a nullåhoz.

Ebben az esetben a terhelés egyértelmƱen normålis:)
Mit tegyĂŒnk? Ha egy hypervisoron több VM mƱködik sok maggal, Ă©s van CPU tĂșlterhelĂ©s, a co-stop szĂĄmlĂĄlĂł megemelkedhet, ami teljesĂtmĂ©nyproblĂ©mĂĄkhoz vezethet a VM-eknĂ©l.
A co-stop szintĂ©n megemelkedik, ha az aktĂv VM magok szĂĄmĂĄra szĂĄlakat hasznĂĄlnak egy fizikailag egy magra telepĂtett szerveren, ami hyper-threading-gel van engedĂ©lyezve. Ilyen helyzet lĂ©phet fel pĂ©ldĂĄul, ha a VM-nek több magja van, mint amennyi fizikailag elĂ©rhetĆ a szerveren, ahol mƱködik, vagy ha a VM-nĂ©l a 'preferHT' beĂĄllĂtĂĄs engedĂ©lyezve van. ErrĆl a beĂĄllĂtĂĄsrĂłl itt olvashat. .
A VM teljesĂtmĂ©nyproblĂ©mĂĄinak elkerĂŒlĂ©se Ă©rdekĂ©ben a magas co-stop miatt vĂĄlassza a VM mĂ©retĂ©t a szoftvergyĂĄrtĂł ajĂĄnlĂĄsa szerint, amely ezen a VM-en mƱködik, Ă©s figyelembe vĂ©ve a VM mƱködĂ©si helyĂ©n talĂĄlhatĂł fizikai szerver lehetĆsĂ©geit.
Ne adjon hozzĂĄ magokat tartalĂ©kkĂ©nt, ez problĂ©mĂĄkat okozhat a VM teljesĂtmĂ©nyĂ©ben, valamint a szerveren talĂĄlhatĂł szomszĂ©dai szĂĄmĂĄra is.
Egyéb hasznos CPU metrikåk
Run â hĂĄny idĆt (ms) töltött a vCPU a mĂ©rĂ©si idĆszak alatt RUN ĂĄllapotban, tehĂĄt tĂ©nylegesen vĂ©gezte a hasznos munkĂĄt.
Idle â mennyi idĆ (ms) alatt volt a vCPU tĂ©tlen ĂĄllapotban a mĂ©rĂ©si idĆszak alatt. A magas Idle Ă©rtĂ©kek nem problĂ©ma, egyszerƱen a vCPU-nak "nem volt mit tennie".
VĂĄrakozĂĄs â mennyi idĆ (ms) alatt volt a vCPU vĂĄrakozĂł ĂĄllapotban a mĂ©rĂ©si idĆszak alatt. Mivel az Idle is belekerĂŒl ebbe a szĂĄmlĂĄlĂłba, a magas Wait Ă©rtĂ©kek sem jeleznek problĂ©mĂĄt. Ha viszont a magas Wait mellett az Idle alacsony, az azt jelenti, hogy a VM az I/O mƱveletek befejezĂ©sĂ©re vĂĄrt, ami problĂ©mĂĄt jelezhet a merevlemez teljesĂtmĂ©nyĂ©vel vagy a VM virtuĂĄlis eszközeivel kapcsolatban.
Max limitĂĄlt â mennyi idĆ (ms) alatt volt a vCPU kĂ©szenlĂ©ti ĂĄllapotban a beĂĄllĂtott erĆforrĂĄskorlĂĄtozĂĄs miatt. Ha a teljesĂtmĂ©ny Ă©rthetetlenĂŒl alacsony, Ă©rdemes ellenĆrizni ezt a szĂĄmlĂĄlĂłt Ă©s a CPU korlĂĄtot a VM beĂĄllĂtĂĄsaiban. Lehet, hogy a VM-nek van korlĂĄtja, amirĆl nem tudsz. PĂ©ldĂĄul ez törtĂ©nik, amikor a VM egy sablonbĂłl lett klĂłnozva, ahol a CPU korlĂĄt be volt ĂĄllĂtva.
Swap vĂĄrakozĂĄs â mennyi idĆt vĂĄrt a vCPU a VMkernel Swap mƱveletĂ©re a mĂ©rĂ©si idĆszak alatt. Ha ennek a szĂĄmlĂĄlnak az Ă©rtĂ©ke nulla felett van, akkor a VM-nek biztosan vannak teljesĂtmĂ©nyproblĂ©mĂĄi. RĂ©szletesen a SWAP-rĂłl a RAM szĂĄmlĂĄlĂłkkal foglalkozĂł cikkben beszĂ©lĂŒnk.
ESXTOP
Ha a vCenter teljesĂtmĂ©nyszĂĄmlĂĄlĂłi jĂłk a törtĂ©neti adatok elemzĂ©sĂ©re, akkor a problĂ©mĂĄk operatĂv elemzĂ©sĂ©hez a legjobb az ESXTOP. Itt minden Ă©rtĂ©k kĂ©szen ĂĄll (nem kell semmit lefordĂtani), Ă©s a minimĂĄlis mĂ©rĂ©si idĆszak 2 mĂĄsodperc.
Az ESXTOP CPU kĂ©pernyĆ a 'c' gomb megnyomĂĄsĂĄval hĂvhatĂł elĆ, Ă©s a következĆkĂ©ppen nĂ©z ki:

A kényelem érdekében hagyja csak a virtuålis gépek folyamatait, a Shift-V megnyomåsåval.
A VM kĂŒlönbözĆ magjainak metrikĂĄinak megtekintĂ©sĂ©hez nyomja meg az 'e' gombot, Ă©s Ărja be az Ă©rdeklĆdĆ VM GID-t (30919 a lenti kĂ©pernyĆkĂ©pen):

Röviden ĂĄttekintem az alapĂ©rtelmezĂ©s szerint megjelenĆ oszlopokat. TovĂĄbbi oszlopok hozzĂĄadhatĂłk az 'f' gomb megnyomĂĄsĂĄval.
NWLD (VilĂĄgok SzĂĄma) â a csoportban lĂ©vĆ folyamatok szĂĄma. A csoport kibĆvĂtĂ©sĂ©hez Ă©s az egyes folyamatok (pĂ©ldĂĄul a többmagos VM esetĂ©n minden mag) metrikĂĄinak megtekintĂ©sĂ©hez nyomja meg az âeâ gombot. Ha a csoportban több mint egy folyamat van, akkor a csoport metrikĂĄinak Ă©rtĂ©ke az egyes folyamatok metrikĂĄinak összegĂ©vel egyenlĆ.
%HASZNĂLT â mennyi CPU ciklust hasznĂĄl a szerver egy folyamat vagy folyamatcsoport.
%FUT â mennyi idĆt töltött a folyamat RUN ĂĄllapotban a mĂ©rĂ©si idĆszak sorĂĄn, azaz vĂ©gzett hasznos munkĂĄt. KĂŒlönbözik a %USED-tĆl, mert nem veszi figyelembe a hyper-threadinget, a frekvencia skĂĄlĂĄzĂĄst Ă©s a rendszerfeladatokra (%SYS) fordĂtott idĆt.
%SYS â az idĆ, amelyet rendszerfeladatokra fordĂtottunk, pĂ©ldĂĄul megszakĂtĂĄsok kezelĂ©sĂ©re, bemenetre/kimenetre, hĂĄlĂłzati munkĂĄra stb. Az Ă©rtĂ©k magas lehet, ha a VM-nek nagymĂ©rtĂ©kƱ bemenete/kimenete van.
%OVRLP â mennyi idĆt töltött a fizikai mag, amelyen a VM folyamat fut, mĂĄs folyamatok feladataira.
Ezek a metrikĂĄk egymĂĄssal a következĆkĂ©ppen viszonyulnak:
%USED = %RUN + %SYS â %OVRLP.
ĂltalĂĄban a %USED metrika informatĂvabb.
%WAIT â mennyi idĆt töltött a folyamat a mĂ©rĂ©si idĆszak sorĂĄn Wait ĂĄllapotban. Tartalmazza az IDLE-t is.
%IDLE â mennyi idĆt töltött a folyamat a mĂ©rĂ©si idĆszak sorĂĄn IDLE ĂĄllapotban.
%SWPWT â mennyi idĆt töltött a mĂ©rĂ©si idĆszak sorĂĄn az vCPU a VMkernel Swap mƱveletre vĂĄrva.
%VMWAIT â mennyi idĆt töltött a mĂ©rĂ©si idĆszak sorĂĄn az vCPU esemĂ©nyek (ĂĄltalĂĄban bemenetre/kimenetre) vĂĄrakozva. Ezen metrikĂĄnak nincs megfelelĆje a vCenterben. A magas Ă©rtĂ©kek problĂ©mĂĄkat jeleznek a VM bemeneti/kimeneti teljesĂtmĂ©nyĂ©vel kapcsolatban.
%WAIT = %VMWAIT + %IDLE + %SWPWT.
Ha a VM nem hasznĂĄl VMkernel Swap-ot, akkor a teljesĂtmĂ©nyproblĂ©mĂĄk elemzĂ©sekor Ă©rdemes figyelembe venni a %VMWAIT-t, mivel ez a metrika nem szĂĄmolja azt az idĆt, amikor a VM semmit sem csinĂĄlt (%IDLE).
%RDY â mennyi idĆt töltött a folyamat a mĂ©rĂ©si idĆszak sorĂĄn Ready ĂĄllapotban.
%CSTP â mennyi idĆt töltött a folyamat a mĂ©rĂ©si idĆszak sorĂĄn costop ĂĄllapotban.
%MLMTD â mennyi idĆt töltött az vCPU a mĂ©rĂ©si idĆszak sorĂĄn Ready ĂĄllapotban a beĂĄllĂtott erĆforrĂĄslimitek miatt.
%WAIT + %RDY + %CSTP + %RUN = 100% â a VM magja mindig ezekben a nĂ©gy ĂĄllapotban van.
CPU a hipervizoron
A vCenterben van CPU teljesĂtmĂ©nymĂ©rĆ a hipervizor szĂĄmĂĄra is, de ezek nem Ă©rdekesek â ez egyszerƱen a szerveren lĂ©vĆ Ă¶sszes VM teljesĂtmĂ©nymĂ©rĆinek összege.
A legkĂ©nyelmesebb CPU ĂĄllapotĂĄt a szerveren a Summary fĂŒlem alatt ellenĆrizni:

A szerver szåmåra, akårcsak a virtuålis gép szåmåra, létezik egy alapértelmezett riasztås:

Magas CPU terhelĂ©s esetĂ©n a szerveren futĂł VM-ek teljesĂtmĂ©nyproblĂ©mĂĄkat tapasztalnak.
Az ESXTOP-on a szerver CPU terhelĂ©sĂ©nek adatai a kĂ©pernyĆ tetejĂ©n talĂĄlhatĂłk. A standard CPU terhelĂ©s mellett, amely a hypervisorok szĂĄmĂĄra nem tĂșl informatĂv, hĂĄrom tovĂĄbbi mutatĂł is van:
CORE UTIL(%) â a fizikai szerver magjĂĄnak terhelĂ©se. Ez a szĂĄmlĂĄlĂł azt mutatja, mennyi idĆt dolgozott a mag a mĂ©rĂ©si idĆszak alatt.
PCPU UTIL(%) â ha a hyper-threading be van kapcsolva, akkor minden fizikai magra kĂ©t szĂĄl (PCPU) jut. Ez a mutatĂł azt mutatja, mennyi idĆt dolgozott mindegyik szĂĄl.
PCPU USED(%) â ugyanaz, mint a PCPU UTIL(%), de figyelembe veszi a frequency scaling-et (a mag frekvenciĂĄjĂĄnak csökkentĂ©se energia megtakarĂtĂĄs cĂ©ljĂĄbĂłl, vagy a Turbo Boost technolĂłgia rĂ©vĂ©n törtĂ©nĆ növelĂ©se) Ă©s a hyper-threading-et.
PCPU_USED% = PCPU_UTIL% * effektĂv magfrekvencia / nĂ©vleges magfrekvencia.

Ezen a kĂ©pernyĆkĂ©pen nĂ©hĂĄny mag szĂĄmĂĄra a Turbo Boost mƱködĂ©se miatt a USED Ă©rtĂ©k 100%-nĂĄl magasabb, mivel a mag frekvenciĂĄja a nĂ©vlegesnĂ©l magasabb.
NĂ©hĂĄny szĂł a hyper-threading figyelembevĂ©telĂ©rĆl. Ha a folyamatok 100% idĆt töltöttek a fizikai mag mindkĂ©t szĂĄlĂĄn, Ă©s a mag a nĂ©vleges frekvenciĂĄn mƱködik, akkor:
- A CORE UTIL a mag szĂĄmĂĄra 100% lesz,
- A PCPU UTIL mindkét szål szåmåra 100% lesz,
- A PCPU USED mindkét szål szåmåra 50% lesz.
Ha mindkĂ©t szĂĄl nem dolgozott a mĂ©rĂ©si idĆszak 100%-ĂĄban, akkor azokban az idĆszakokban, amikor a szĂĄlak pĂĄrhuzamosan mƱködtek, a PCPU USED a magok szĂĄmĂĄra felezĆdik.
Az ESXTOP-on van egy kĂ©pernyĆ a szerver CPU energiafogyasztĂĄsi paramĂ©tereivel. Itt meg lehet nĂ©zni, hogy a szerver hasznĂĄlja-e az energiahatĂ©konysĂĄgi technolĂłgiĂĄkat: C-states Ă©s P-states. Az 'p' billentyƱ lenyomĂĄsĂĄval hĂvhatĂł elĆ:

CPU teljesĂtmĂ©nylehetĆsĂ©gek szokĂĄsos problĂ©mĂĄi
VĂ©gĂŒl ĂĄtĂrok nĂ©hĂĄny tipikus okot a VM CPU teljesĂtmĂ©nyĂ©nek problĂ©mĂĄira, Ă©s adok rĂĄ rövid megoldĂĄsi javaslatokat:
Nem elegendĆ a mag Ăłrajel. Ha nincs lehetĆsĂ©g a VM-t erĆsebb magokra ĂĄthelyezni, prĂłbĂĄlja meg mĂłdosĂtani az energiafogyasztĂĄsi beĂĄllĂtĂĄsokat, hogy a Turbo Boost hatĂ©konyabb legyen.
HibĂĄs VM mĂ©retezĂ©s (tĂșl sok/tĂșl kevĂ©s mag). Ha tĂșl kevĂ©s magot ĂĄllĂt be, magas CPU terhelĂ©st tapasztalhat a VM-en. Ha tĂșl sok, magas co-stop valĂłszĂnƱ.
Magas CPU tĂșlbĂ©rlĂ©s a szerveren. Ha a VM-en magas Ready-n van, csökkentse a CPU tĂșlbĂ©rlĂ©st.
HibĂĄs NUMA-topolĂłgia nagyobb VM-ek esetĂ©n. A VM's NUMA topology (vNUMA) must match the server's NUMA topology (pNUMA). Diagnostics and possible solutions to this problem are discussed, for example, in the book . If you don't want to dive deep and have no licensing restrictions on the OS installed on the VM, create multiple virtual sockets with one core each on the VM. You won't lose much đ
That's all I have on CPU. Feel free to ask questions. In the next part, I'll talk about RAM.
Hasznos linkek
ForrĂĄs: habr.com
