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 ?

Tutaj wpisz opis obrazka

Author: sashoalm, 2012-05-31

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

 72
Author: nkr,
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

 9
Author: Vaiden,
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.

 1
Author: Slider2k,
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):

 0
Author: SeeR,
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