CPU-használat mérése mobileszközökön

ha valaha is meg akarta mérni egy mobilalkalmazás vagy játék CPU-használatát, és elakadt, akkor olvassa el, hogy megtudja, hogyan lehet ezt elérni.

minden alkalmazás vagy játék alapvető célja, hogy nagyszerű élményt nyújtson a felhasználónak. A játékok esetében a másodpercenkénti képkocka ennek jó mércéje. Ha a játék nem képes jó élményt nyújtani, akkor természetesen kíváncsi a rendszer erőforrás-felhasználására. Valószínű, hogy a játékot a CPU/ GPU vagy a memória sávszélessége szűkíti. Ez a három alapvető terület az első állomás a teljesítményproblémák azonosításakor. Nézzük meg, hogyan lehet mérni a CPU használatát mind az Android, mind az iOS eszközökön.

definíciók

mi a CPU terhelés?
mielőtt megvitatnánk a CPU-használat mérési módszereit, fontos tudni, hogy mit értünk a CPU-terhelés definíciója alatt. A CPU terhelése a CPU által két mintavételi intervallum között végzett munka mennyiségét méri. A Modern eszközök többmagos CPU-kkal rendelkeznek, amelyek különböző frekvenciákon működhetnek a CPU-t használó szoftver számítási igényétől függően. Ennek eredményeként egy alacsonyabb frekvencián teljesen betöltött CPU továbbra is több feladatot fogadhat el az operációs rendszertől, ha a frekvencia növekszik.

kulcsfontosságú megfigyelés, hogy a CPU terhelése a CPU működési pontjától függ. A 100 Mhz-en 100% – ban betöltött CPU csak 50% – ban lesz betöltve, ha a frekvenciát 1 GHz-re növelik. Tehát szükség van a CPU terhelésének normalizálására a CPU maximális működési frekvenciájára.

a CPU terhelése mind az Android, mind az iOS számára különféle módon érhető el. A CPU terhelése több mint 100% lehet. Például egy 4 magos iOS-eszközön a CPU-terhelés akár 400% – ra is emelkedhet (100% – os terhelés minden CPU-mag esetében).

mi a normalizált CPU használat?
amikor a fent említett CPU terhelési mutatót újra kiszámítjuk az egyes CPU-magok maximális működési pontjának felhasználásával, normalizált CPU-felhasználást kapunk. Tudom, hogy ez egy kicsit bonyolult, ezért van egy példa, amely elmagyarázza ezt az alábbiakban,

nézzük meg a következő forgatókönyvet egy olyan eszközön, amely négymagos CPU-val rendelkezik

  • CPU terhelés az alkalmazás miatt – 50%
  • online magok száma – 2 A 4 – ből
  • a CPU magok maximális működési pontja – 1 GHz
  • működési pontok a két mag, hogy volt-500 MHz

a normalizált CPU használat kiszámítása a következő,

  • Maximális Rendelkezésre álló CPU ciklusok-4 * 1 GHz-4 GHz
  • elérhető CPU ciklusok, amikor az alkalmazás 500 Mhz * 2 = 1 GHz
  • a mintavétel során rendelkezésre álló összes CPU-ciklus százaléka-1 GHz / 4 GHz = 25% vagy 0,25
  • normalizált CPU-használat– 50% * (0.25) = 12.5%

ha bármilyen profilalkotó eszközt használ, mindig hasznos feltenni ezt a kérdést. Mérem a normalizált CPU-felhasználást? Ez azért fontos, mert amikor a CPU-használat normalizálódik, két eszközön összehasonlítható. A CPU terhelése nem teszi lehetővé az egyszerű összehasonlításokat.

most, hogy megértettük a CPU terhelés definícióit, nézzünk meg néhány különböző módszert, amellyel mérhetjük ezt az Android és iOS

Android
fejlesztőként számos módon mérheti a CPU-felhasználást az Android alkalmazásban vagy játékban.

“Top” parancs
az alkalmazások CPU-használatának legegyszerűbb módja a “top” parancs használata. Az Android Linuxon alapul,a Linuxban is elérhető parancssori finomságokkal együtt.

ha ADB hozzáféréssel rendelkezik az eszközhöz, futtathat egy ilyen parancsot a CPU használatának megtekintéséhez,

az adb shell top-m 5-d 1 parancs az alábbihoz hasonló eredményt ad:

ABD Shell-képernyő

felett, akkor láthatjuk, hogy a csomag com.kiloo.a subwa + a CPU 142% – át fogyasztotta. Érdemes megjegyezni, hogy ez a CPU terhelés nem normalizálódik. Ennek ellenére továbbra is használhatja ezt a számot ugyanazon az eszközön, hogy megértse a CPU használatát. Ez a módszer akkor is hasznos, ha CPU-használatot kap az eszközön futó bármely alkalmazásban.

Android Profiler
ha hozzáfér az alkalmazás forráskódjához, akkor az Android Studio profiler segítségével részletes CPU-használati mutatókat kaphat. Itt követheti a hivatalos android dokumentációt a CPU Profiler használatához az Android stúdióban.

GameBench tools
GameBench tools a lehető legegyszerűbb módja annak, hogy letölteni normalizált CPU használat egy Android készülék bármely alkalmazás vagy játék akkor is, ha nem a fejlesztő. Amellett, hogy a CPU használat, az eszközök is jelentést CPU mag Államok (hogy a CPU mag volt online), valamint a frekvenciákat. Például egy példa diagram CPU mag frekvenciák néz ki, mint az alábbi,

a fenti táblázat azt mutatja, a mobil chipset egy 8 magos CPU és egy pillantással láthatjuk, hogy a CPU frekvencia volt órajele fel az első 25 másodperc, vagy úgy, majd az Android OS úgy döntött, hogy az óra az összes magot, hogy alacsonyabb frekvenciákat. Ebben az esetben a profilozott alkalmazás erőforrásokat töltött be a lemezről, ennek eredményeként az összes magot nagyobb frekvencián kellett működtetnie 25 másodpercig. Ha szeretné kipróbálni a CPU használat a mobil eszközön, iratkozzon fel a GameBench Pro próba alatt, és egy gyors megy.

vegye fel a kapcsolatot

iOS
ha ön iOS fejlesztő, a CPU-használat mérésének legegyszerűbb módja az Xcode eszközkészlet használata.

a következő Apple eszközöket találtuk különösen hasznosnak:

  1. Xcode hibakereső műszerek
  2. műszerek
    1. Időprofilozó
    2. Tevékenységfigyelő

Xcode Debug Gauges
ha hozzáfér az iOS alkalmazás forráskódjához,akkor a Debug Gauges gyors és egyszerű módja az alkalmazás erőforrás-felhasználásának. A hibakeresési mérők használatával kapcsolatos további részleteket itt talál. Csak annyit kell tennie, hogy elindítja az alkalmazást a csatlakoztatott eszközön, hogy nagyon hasznos információkat kapjon az erőforrások felhasználásáról. Felhívjuk figyelmét, hogy az iOS-ben csak a CPU-terhelés jelenik meg (nem normalizált).

Instruments
néha részletesebb CPU Profilinformációkhoz kell hozzáférni, és ez az, ahol az Instruments segíthet. Eszközök van egy pár különböző eszközök, amelyek segíthetnek teljesítményének mérésére az alkalmazás.

Time Profiler
a time profiler eszköz alacsony költségű, időalapú mintavételt képes végrehajtani a rendszer CPU-ján futó folyamatokból. Van egy pár különböző nézetek ebben az eszközben, hogy lehet használni. A CPU stratégia Használati nézete felhasználható a maghasználat összehasonlítására adott időszakokban. Megtekintheti az eszköz minden egyes magjának munkaterhelését, és észreveheti a váratlan viselkedést. A szálstratégia nézet segítségével megvizsgálhatja, hogy az alkalmazás hogyan használja a szálakat munka közben. Érdemes megjegyezni, hogy a szűk keresztmetszetek megértéséhez forráskódra van szükség.

Activity Monitor
az activity monitor jó egészségügyi mutatót adhat a profilozott alkalmazásról. Ez az eszköz megmutatja az eszközön futó összes alkalmazás CPU-és memóriahasználatát. Ez akkor hasznos, ha hosszú távú tesztet szeretne végezni, és mérni szeretné az alkalmazás/játék teljesítményparamétereit.

GameBench Tools
eszközeink lehetővé teszik az alkalmazás CPU-használatának mérését akkor is, ha nincs hozzáférése a forráskódhoz. Ez különösen akkor hasznos, ha hibakeresési információk nélkül szeretne profilozni egy kiadási jelöltet. Ezenkívül eszközeink lehetővé teszik a CPU-használat mérését egy windows PC-ről, ami nagyon hasznos lehet, mivel az Xcode és az eszközök fent említett módjai csak OSX-et futtató Mac-en működnek.

mag frekvencia diagram

fontos megjegyezni, hogy a GameBench által jelentett CPU-használat a magok számától függően változik. Minden mag 100% – ot használhat, így egy hatmagos rendszer esetében a maximális CPU-terhelés 600% – ra emelkedhet.

itt fontos megjegyezni, hogy a GameBench által jelentett CPU-használat a magok számától függ. Minden mag 100% – ot használhat, így egy hatmagos rendszer esetében a maximális CPU-terhelés 600% – ra emelkedhet.

mit kell keresni?

iOS
a magas CPU-terhelés tartós értékeit alaposabban meg kell vizsgálni (értse meg, mi történt a képernyőn a kontextus képernyőképeinek felhasználásával), mivel ez valószínűleg növeli az akkumulátor lemerülését. A modern CPU működésének módja miatt a CPU terhelésének növekedése általában arra készteti a CPU-t, hogy a következő magasabb működési frekvenciára LÉPJEN. A következő működési pontra való áttérésnek alacsonyabb CPU-terhelési értéket kell eredményeznie. Ha egy alkalmazás következetesen betölti a CPU-t, az operációs rendszer tovább növeli a működési pontot, amíg el nem éri a maximális értéket. Ez nem kívánatos viselkedés, ezért meg kell vizsgálni.

meg kell nézni a CPU használati értékeket is, amelyek meghaladják a megengedett maximális érték 25% – át. Tehát egy 6 magos rendszerben az 150% – nál nagyobb tartós CPU-terhelés általában egy problémára utal, és érdemes használni a Time Profiler eszközt, hogy részletesebben megvizsgálja ezt.

a nagy CPU-terhelés rövid sorozatai rendben vannak.

Android
ez a teszteléshez használt eszköz magjainak számától függ. Egy négymagos rendszeren a 25% – nál nagyobb érték azt jelentené, hogy egy magot teljes mértékben kihasználtak az alkalmazáshoz, és ennek eredményeként magas CPU-használatnak számítanak, bár ez rövid sorozatokban rendben van. Következetes CPU használat > 25% további vizsgálatot igényel.

az alkalmazásban használt összes szálat “meg kell nevezni”, hogy a megadott információkat a lehető legjobb módon használják fel. Mindig jó ötlet ellenőrizni, hogy a “könnyű” szálak bármelyike váratlanul több CPU-ciklust fogyaszt-e

mi a következő lépés?

Ha többet szeretne megtudni a GameBench Pro tools által összegyűjtött mutatókról, az alábbiakban több blogbejegyzést találhat a témáról.

Teljesítménymutatók Blogok

Leave a Reply