Jak odczytać dane dotyczące użycia procesora
Na Ice Cream Sandwich, opcja w opcjach programisty jest "pokaż użycie procesora", co dodaje nakładkę na ekranie(zobacz zrzut ekranu poniżej).
Moje pytanie brzmi: jak odczytać dane ? Domyślam się, że nazwy pakietów są obecnie aktywnymi procesami, ale co oznaczają czerwone i zielone paski za nimi ? Również jakie są 3 numery na górze pakietów ?
4 answers
To powinna być średnia obciążenia systemu Unix. Wikipedia ma ładny artykuł na ten temat.
Liczby pokazują średnie obciążenie procesora w różnych przedziałach czasowych. Od lewej do prawej: last minute/last five minutes / last fifteen minutes
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-31 08:01:32
Do tej pory było to najbardziej pomocne źródło informacji na ten temat, jakie mogłem znaleźć. Widocznie liczby nie obciążają średnio w %: http://forum.xda-developers.com/showthread.php?t=1495763
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-05 13:58:29
Jak wskazywały inne odpowiedzi, w systemach uniksowych liczby reprezentują średnie obciążenie procesora w okresach 1/5/15 minut. Ale na Linuksie (a co za tym idzie Androidzie) to co reprezentuje to coś innego.
Po łatce jądra z 1993 roku (a świetny artykuł na ten temat ), w Linuksie średnie liczby obciążenia nie reprezentują już ściśle obciążenia CPU: ponieważ obliczenia uwzględniają nie tylko procesy związane z CPU, ale także procesy w Linuksie. niezakłócony stan oczekiwania - pierwotnym celem było uwzględnienie procesów związanych z I/O w ten sposób, aby reprezentować bardziej "obciążenie systemu" niż tylko obciążenie CPU. Problem polega na tym, że od 1993 roku w jądrze Linuksa rośnie użycie stanu niezakłóconego i nie reprezentuje on już zazwyczaj procesu związanego z I / O. Problem jest dodatkowo pogłębiany przez niektórych programistów Linuksa, którzy używają bezprzerwowego oczekiwania jako łatwego oczekiwania, aby uniknąć akceptowania sygnałów w swoich implementacjach. W rezultacie w Linuksie (i Androidzie) mamy można zobaczyć Przekrzywione liczby średnie wysokiego obciążenia, które obiektywnie nie reprezentują rzeczywistego obciążenia. Istnieją raporty użytkowników Androida o nieuzasadnionych średnich wysokich obciążeniach kontrastujących z niskim wykorzystaniem procesora. Na przykład mój stary telefon z Androidem (z rdzeniami procesora 2) Zwykle pokazywał średnie obciążenie ~12, gdy system i procesory były bezczynne. W związku z tym średnie liczby obciążenia w Linuksie (Android) nie okazują się wiarygodnym wskaźnikiem wydajności.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-21 19:39:05
From High Performance Android Apps book (page 157):
- to co widzimy jest odpowiednikiem polecenia adb shell dumpsys cpuinfo
- liczby pokazują obciążenie procesora ponad 1 minutę, 5 minut i 15 minut (od lewej)
- kolory pokazują czas spędzony przez procesor w przestrzeni użytkownika (zielony), jądro (czerwony) i przerwanie IO (niebieski)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-23 13:10:43