- A magas energiafogyasztást általában a vendég, a konfiguráció (vCPU/VRAM/végrehajtás) vagy a gazdagép folyamatai okozzák.
- A kevés VRAM és VRDP grafikus felület nélkül is megterhelheti a processzort; frissítés VirtualBox és Vendégkiegészítések.
- Foglaljon le vCPU-t az ajánlott tartományon belül, és használjon végrehajtási korlátot a tartós túlterhelések megfékezésére.
- Mind a gazdagépet, mind a vendéggépet figyeli; a plusz memória nem csökkenti a CPU-használatot, ha a terhelés számítási jellegű.
Amikor egy virtuális gép VirtualBox Ha a gazdagép CPU-használata megugrana, a folyamat frusztrálóvá válna: a ventilátorok teljes erővel pörögnek, a rendszer felmelegszik, és minden akadozni látszik. Sok esetben, még a virtuális gép tétlensége mellett is, a VirtualBox folyamat látható ok nélkül magasan tartja a CPU-szintet. A teljesítmény helyreállításához kulcsfontosságú megérteni, hogy mi folyik a háttérben, és hogyan lehet kezelni..
Ez az elemzés a leggyakrabban előforduló esetek alapján összegzi a legjobban működő megoldásokat: a legfontosabb pillanatképekből a következőkből: Linux mivel a VBoxHeadless körülbelül 95%-os CPU-használattal rendelkezik, a CPU-lefoglalásra vonatkozó legjobb gyakorlati ajánlásokig, valamint a gyakori okokig, mint például az elégtelen videomemória vagy a belső vendégrendszer-feladatok. Bizonyított tüneteket, okokat és megoldásokat találsz, spanyolul elmagyarázva és gyakorlatias megközelítéssel..
Tünetek és jelek, amelyek arra utalnak, hogy a virtuális gép túlterheli a CPU-t
Az első dolog a probléma felismerése. macOS rendszeren az Activity Monitor 100% felett is megjelenítheti a virtuális gépet, mert ez a százalék logikai magonként értendő: ha 4 vCPU-t rendelsz hozzá, akkor akár 400%-ot is láthatsz felső határként. Ez nem mindig jelent hibát, de azt jelzi, hogy a virtuális gép maximalizálja a vCPU-kat..
En Windows, The Feladatkezelő A gazdagépen vagy vendéggépen a folyamat túlterheléses ciklusaira utalhatnak. Linuxon a top vagy a htop gyakran rendellenes használatot mutat VBoxHeadless vagy VirtualBoxVM esetén. Egy tipikus minta, amikor a virtuális gép szinte inaktív, mégis tartós csúcsokat figyelnek meg..
Egy sokat idézett valós eset valami ilyesmit mutat be egy Linux gépen, ahol a virtuális gépnek nincs grafikus felülete, és headless módban indul: A CPU 94%-át lefedő VBoxHeadless egyértelmű tünet
top - 19:12:xx up 25 min, 1 user, load average: 1.2, 1.3, 1.1
Tasks: 90 total, 2 running, 88 sleeping, 0 stopped, 0 zombie
Cpu(s): 10%us, 7%sy, 81%ni, 0%id, 0%wa, 1%hi, 1%si, 0%st
Mem: ~900M total, ~885M used, ~15M free, ~3M buffers
Swap: ~1G total, ~26M used, ~945M free, ~90M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11491 user 20 0 416m 278m 6780 S 94.0 31.8 3:21 VBoxHeadless (vm A)
11536 user 20 0 295m 157m 6816 S 2.6 18.1 1:56 VBoxHeadless (vm B)
Ez a fajta olvasás egyetlen VirtualBox folyamathoz igazodik, amely leköti a CPU-t, még akkor is, ha a vendégnek tétlennek kellene lennie. Ha azt veszed észre, hogy a ventilátorok kikapcsolnak, és a berendezés felforrósodik, akkor ugyanazt a klinikai képet látod..
Egy másik érdekes, de hasznos jel az összehasonlítás a gépen található más alkalmazásokkal: egyesek szerint a VirtualBox mindössze 4–7%-os CPU-használattal és alig több mint 100 MB RAM-mal rendelkezik egy gépen. Xubuntu 18.04 nyitott ablakkal, míg a Firefox egy szüneteltetett YouTube-videóval közel 700 MB-ot foglal. Ez emlékeztet arra, hogy a CPU- és a memóriahasználat nem mindig jár kéz a kézben, és hogy nem minden magas erőforrás-használat a VirtualBoxnak tulajdonítható..
Miért használhat túl sok processzort a VirtualBox?
Az okokat általában három blokkba csoportosítják: mit csinál a vendégrendszer, hogyan van konfigurálva a virtuális gép, és mi történik a gazdagépen. Ha beazonosítja, hogy melyik blokkból ered a probléma, órákig tartó próbálkozásokat és hibákat takarít meg..
Aktív vagy rosszul optimalizált vendég. Ha a virtuális gépen belül erőforrás-igényes folyamatok vagy szolgáltatások vannak, akkor magas kihasználtság várható. A videó- vagy fotószerkesztés, a CAD, a játékok, az indexelés vagy a fordítás mind erőforrás-igényes tevékenységek természetüknél fogva. A belső rendszerfeladatok, például a frissítések vagy a fájlindexelés, átmenetileg szintén növelik a használatot..
Olyan VirtualBox-konfigurációk, amelyek korlátozzák vagy túlméretezik a kapacitást. Túl sok vCPU lefoglalása több kontextusváltáshoz és rosszabb késleltetéshez vezethet; ezzel szemben, ha erőforrások nélkül hagyjuk a virtuális gépet, az arra kényszeríti, hogy azt használja, amije van. Van egy nem intuitív kiváltó ok is: elégtelen videomemória vagy a videomemória kihasználtsága. VRDP ami még grafikus felület nélkül is renderelési ciklusokat okozhat és túlterhelheti a CPU-t.
A gazdagép erőforrásai alacsonyak, vagy interferenciát tapasztal. Ha a gazdagép CPU-ja alacsony, a virtuális gépek és a gazdagép folyamatainak (böngészők, szinkronizálók, víruskeresők stb.) kombinációja gyorsan telítődik. Egyes jelentett esetekben mindkettő... VirtualBox, mint a VMware Ugyanazokkal a virtuális gépekkel lassúvá válnak, ami a gazdagépet jelöli meg a felelősként: illesztőprogramok problémákkal, a biztonsági szolgáltatások folyamatos szkennelésével, háttérfeladatokkal, korlátozó energiasémákkal vagy bizonyos felhasználókat büntető biztonsági intézkedésekkel hardver.
macOS rendszeren ne feledkezzünk meg a magonkénti mutatóról sem: a 200%, 300% vagy annál nagyobb érték az Aktivitásfigyelőben normális lehet, ha a virtuális gép 2 vagy 3 vCPU-ja teljes kapacitással fut. A kulcsadat nem csak a nyers százalékos arány, hanem az is, hogy ha a csapat lassulni kezd, és a fulladás tünetei jelentkeznek..
Gyakorlati megoldások, amelyek valóban működnek
Növelje a virtuális gép videomemóriáját, és indítsa újra a gépet. Ez a látszólag apró módosítás megoldotta azokat az eseteket, amikor a VBoxHeadless hatalmas kiugrásokat tapasztalt, különösen VRDP típusú távoli hozzáférés esetén, vagy ha bármilyen grafikus komponens érintett. A VRAM növelésével csökkenthető a felesleges újrarajzolások száma, és megakadályozhatók a CPU-igényes renderelési hurkok még grafikus felhasználói felület nélkül is..
Állítsd be bölcsen a vCPU-kat. A VirtualBox egy ajánlott tartományt jelenít meg; ha ezen a tartományon belül maradsz, az általában jobb késleltetést eredményez. A gazdagép teljesítménykorlátja minden egyes hozzáadott vCPU-val növekszik; ne feledd a rendszerfigyelőkben található 100%-os magonkénti matematikát. A túlköltekezés elkerülése ugyanolyan fontos, mint az alulköltekezés elkerülése..
Korlátozd a végrehajtást a Végrehajtási korláttal. A Virtuálisgép konfigurációja > Rendszer > Processzor menüpontban beállíthatsz egy CPU-használati korlátot. Ez megakadályozza, hogy a virtuális gép monopolizálja a gazdagépet, amikor nincs szükséged maximális teljesítményre. Ez egy elegáns módja a tüskék megfékezésének anélkül, hogy a vendég belsejében zajló folyamatokat érintenénk..
Frissítsd a VirtualBox és a Vendég Kiegészítéseket. Az új verziók teljesítménybeli javításokat és kompatibilitási javításokat hoznak. Ugyanez vonatkozik a Vendég Kernelre vagy a Rendszerre is. Egy egyszerű frissítéssel pontosan azt a hibát javíthatod ki, ami a processzorodat emészti..
Ellenőrizd a gyorsulást és paravirtualizációA 3D, 2D, paravirtualizáció vagy beágyazott lapozás közötti váltás a vendégtől függően változhat. Bizonyos környezetekben a 3D letiltása kiküszöböli a ciklusokat; másokban az engedélyezése tehermentesíti a GPU-t. Teszteld a változtatásokat egyenként, és mérd fel a hatásukat, mielőtt egy konfiguráció mellett döntenél..
Vendégfolyamatok figyelése. Nyissa meg a Feladatkezelőt Windows rendszerben vagy a Top alkalmazást Linux rendszerben a virtuális gépen belül, és keresse meg a mohó folyamatot. Ha rendszerfolyamatról van szó, akkor az frissítésekhez, keresési indexekhez vagy illesztőprogramokhoz kapcsolódhat. Ha alkalmazásról van szó, ellenőrizd a dokumentációját: vannak olyan szoftverek, ahol a magas CPU-használat bizonyos feladatokban normális állapot..
Könnyítsd meg a tárhelyszolgáltatód terhelését. Zárd be a háttérfolyamatokat, szüneteltesd a szinkronizálást, és zárd ki a virtuális gép mappáit a víruskeresőből, ha ez biztonságosan megtehető. Akadályozd meg, hogy egy sok lappal rendelkező böngésző versenyezzen a virtuális gépeddel ugyanazokért az erőforrásokért. A virtuális gép teljesítménye soha nem lesz jobb, mint a azt futtató gazdagépé..
Figyelj oda az energiaellátásra és a hűtésre. A korlátozó energiagazdálkodási terv vagy a túlmelegedést és alulhajtást mutató CPU szűk keresztmetszetet jelenthet. Válts nagy teljesítményű üzemmódra, és győződj meg arról, hogy nincs túlmelegedés. A CPU frekvenciájának csökkenése megmagyarázza, miért rángat minden..
Tipikus esetek: Nagyon lassú virtuális gép több hipervizoron. Ha a VirtualBox és a VMware ugyanazokkal a virtuális gépekkel (pl. Windows XP egy Windows 10 laptopon) is küzdenek, akkor a gazdagépre mutat: lemezeket szkennelő biztonsági szolgáltatások, problémás illesztőprogramok vagy rendszerfeladatok. Amikor a probléma különböző hipervizorokon reprodukálódik, az szinte mindig a virtuális gépen kívül történik..
Lépésről lépésre történő diagnózis és gyakran ismételt kérdések
A fogyasztás forrásának szétválasztásával rögtön a lényegre térhetünk. Kezdjük a vendéggel: Túlterheltek-e a folyamatok? Épp most indult el hónapokig tartó leállás után, és karbantartás alatt áll? Ezután nézzük meg a gazdagépet: Mi más fogyaszt adatokat? Vannak frissítések, indexelők vagy nagy teljesítményű szolgáltatások futnak? Csak ezután finomhangoljuk a virtuális gép beállításait: vCPU, VRAM, gyorsítás, maximális végrehajtás..
Miért használhat egy virtuális gép headless módban ennyi CPU-t? Mert a vendég elfoglalt, a munkaterhelés nagy, vagy a gazdagép nem tud lépést tartani az igénnyel. Hurokok előfordulhatnak a VRDP vagy a túl kicsi grafikus erőforrások miatt is..
Hogyan diagnosztizálhatom körültekintően? Belső és külső monitorozás: Feladatkezelő a vendéggépen, Top vagy Rendszerfigyelő a gazdagépen. A VirtualBoxban erre támaszkodhatsz Parancs sor (CLI) a metrikák lekéréséhez, valamint magában a VirtualBox Managerben vagy harmadik féltől származó segédprogramokban is. Keress összefüggéseket: amikor egy folyamat a vendég gépen felmegy, akkor a VirtualBox folyamat a gazdagépen felmegy?
Optimalizáljak több memória lefoglalásával? A virtuális gép RAM-jának növelése sok mindenen javít, de nem csökkenti közvetlenül a CPU-használatot, ha a terhelés számítási jellegű. A memória és a CPU összefüggenek, de különböző szűk keresztmetszeteket képeznek; a RAM nem old meg egy olyan folyamatot, amely alapvetően rengeteg számítást végez..
Ki kellene jelölnöm az összes elérhető vCPU-t? Nem. A legjobb, ha az eszköz és a hardver által ajánlott számot használjuk. Több vCPU lefoglalásával a vendégrendszer párhuzamosítható terheléseket élvez, de növeli a versengést. A javasoltnál több feladat kiosztása ronthatja a csapat teljesítményét..
Mit tegyek, ha a vendéggép csendes, de a gazdagép továbbra is CPU-n fut? Ezután a beállításokra és a környezetre kell összpontosítani: növelni a VRAM mennyiségét, beállítani a gyorsítást, korlátozni a végrehajtást, frissíteni a VirtualBox és a Vendég Kiegészítőket, és ellenőrizni a gazdagép folyamatait. Apróbb konfigurációs változtatások megoldották azokat az eseteket, amikor a VBoxHeadless látható ok nélkül forgott..
Normális, ha macOS rendszeren 200%-ot, 300%-ot vagy többet látunk? Igen, mert ez a százalék logikai magonként értendő. 4 vCPU-val egy virtuális gép elérheti a 400%-os teljes kihasználtságot az Aktivitásfigyelőben. A lényeg az, hogy ez a tartós használat lerontja-e a rendszer többi részét, vagy egy adott, elvárt feladatra reagál..
Milyen beállításokat kellene először módosítanom a VirtualBoxban? Először a VRAM-mal, a vCPU-számmal és az Execution Cap-kel kezdeném; aztán a 3D/2D gyorsítással és a paravirtualizációval. Mindig egyesével, és méréssel. A VirtualBox legújabb stabil verziójára való frissítés általában egy alacsony kockázatú, magas megtérülésű lépés..
Tipp a Windows vendég operációs rendszer számára, amely egy bizonyos inaktivitási időszak után lassan fut: Hagyja, hogy befejezze a belső feladatait (frissítések, indexelés). Ha a probléma továbbra is fennáll, azonosítsa a folyamatot, és kérjen dokumentációt a szoftvergyártótól. Sok kiugrás átmeneti, és a legjobb, ha nem vakon állítjuk le a rendszerfolyamatokat..
Egy utolsó, nagyon praktikus megjegyzés: ha távoli hozzáférést használsz a virtuális géphez vagy asztali rendereléshez, győződj meg róla, hogy elegendő VRAM-ot foglalsz le, és ha nincs szükséged grafikára, minimalizáld a grafikus szolgáltatásokat a vendég kiszolgálón. Egy egyszerű beállítás, mint például a videómemória, már több esetben is megoldást jelentett az irracionális fogyasztásra..
Ha mindezt összevetjük, a közös szál világossá válik: a magas CPU-használatot szinte mindig a tényleges vendégterhelés, a konfigurációs fejlesztések és a zavaró gazdagép-folyamatok keveréke magyarázza. A fenti ellenőrzésekkel és néhány átgondolt módosítással tökéletesen megszelídíthető a VirtualBox, és visszanyerhető a zökkenőmentes teljesítmény feláldozása nélkül. termelés és stabilitás.
Szenvedélyes író a bájtok és általában a technológia világáról. Szeretem megosztani tudásomat írásban, és ezt fogom tenni ebben a blogban, megmutatom a legérdekesebb dolgokat a kütyükről, szoftverekről, hardverekről, technológiai trendekről stb. Célom, hogy egyszerű és szórakoztató módon segítsek eligazodni a digitális világban.