Cómo leer los datos de uso de CPU en stock

113

En Ice Cream Sandwich, una opción en las Opciones de desarrollador es "Mostrar uso de CPU", que agrega una superposición en la pantalla (vea la captura de pantalla a continuación).

Mi pregunta es, ¿cómo leo los datos? Supuse que los nombres de los paquetes son los procesos actualmente activos, pero ¿qué significan las barras roja y verde detrás? Además, ¿cuáles son los 3 números en la parte superior de los paquetes?

ingrese la descripción de la imagen aquí

XGouchet
fuente
1
¿Tenemos algo similar a esto para la RAM?
Behnam
2
Mis 3 "promedios de carga" son aproximadamente 9.0. Las barras verde y roja son casi invisibles, alcanzando alrededor del 5% de ancho de pantalla en juegos con gráficos intensivos, con lo cual los "promedios de carga" alcanzan alrededor de 10.0. Mi teléfono es de cuatro núcleos y la batería dura años. Creo que las respuestas aquí están incompletas.
John
1
@Campiador Esto tiene un retraso de aproximadamente 1 año, pero para RAM puede ejecutar c: \> adb shell vmstat <ENTER> para examinar información sobre la memoria. CD en su android-sdk-windows \ platform-tools \ para adb.
raddevus

Respuestas:

77

Este debería ser el promedio de carga de Unix. Wikipedia tiene un buen artículo sobre esto.

Los números muestran la carga promedio de la CPU en diferentes intervalos de tiempo. De izquierda a derecha: último minuto / últimos cinco minutos / últimos quince minutos

nkr
fuente
2
Desde el sitio de desarrolladores: Mostrar uso de CPU Muestra los medidores de CPU en la parte superior de la pantalla, mostrando cuánto se está usando la CPU. La barra roja superior muestra el uso general de la CPU y la barra verde debajo muestra el tiempo de la CPU dedicado a componer la pantalla. Nota: no puede desactivar esta función una vez que está activada, sin reiniciar el emulador. developer.android.com/tools/debugging/debugging-devtools.html
Rolf ツ
44
"El verde es el tiempo en el espacio de usuario, el rojo es el tiempo en el kernel, el azul es el tiempo de interrupción io". - Dianne Hackborn groups.google.com/forum/?fromgroups=#!topic/android-platform/…
Bo.
1
¿Hay una barra por núcleo? Solo veo 2 barras, pero tengo un dispositivo de cuatro núcleos. ¿Eso significa que no estoy usando todos mis núcleos?
Ken
4
@Ken: Las barras son la carga promedio de toda la CPU, no los núcleos. La barra superior muestra el uso de CPU del sistema operativo y todos los programas, y las otras barras muestran el uso de CPU del programa específico. Así que no te preocupes, Android usa todos los núcleos.
nkr
1
Estoy un poco confundido. Dianne Hackborn dice: Verde = espacio de usuario, Rojo = Kernel, Azul = interrumpir pero en el sitio del desarrollador dice: rojo = uso general de la CPU, Verde = composición de la pantalla. No suena exactamente igual, ¿verdad?
Tobias Reich
2

Como han señalado otras respuestas, en los sistemas UNIX los números representan los promedios de carga de la CPU durante períodos de 1/5/15 minutos. Pero en Linux (y en consecuencia en Android), lo que representa es algo diferente.

Después de un parche del kernel que se remonta a 1993 (un gran artículo en profundidad sobre el tema ), en Linux los números promedio de carga ya no representan estrictamente la CPUcarga: dado que el cálculo tiene en cuenta no solo los procesos vinculados a la CPU, sino también los procesos en estado de espera ininterrumpida, el objetivo original era tener en cuenta los procesos vinculados de E / S de esta manera, para representar más una "carga del sistema" que solo la carga de la CPU . El problema es que desde 1993 el uso del estado ininterrumpido ha crecido en el kernel de Linux y ya no suele representar un proceso vinculado a E / S. El problema se ve agravado aún más por algunos desarrolladores de Linux que usan esperas ininterrumpidas como una espera fácil para evitar acomodar señales en sus implementaciones. Como resultado, en Linux (y Android) podemos ver números promedio de carga alta sesgados que no representan objetivamente la carga real. Hay informes de usuarios de Android sobre promedios de carga altos irrazonables que contrastan con la baja utilización de la CPU. Por ejemplo, mi antiguo teléfono Android (con 2 núcleos de CPU) normalmente mostraba una carga promedio de ~ 12 cuando el sistema y las CPU estaban inactivos. Por lo tanto, los números de carga promedio en Linux (Android) no resultan ser una métrica de rendimiento confiable.

Slider2k
fuente
1

Más información sobre el "promedio de carga" que muestra la carga de la CPU durante 1 minuto, 5 minutos y 15 minutos

Linux, Mac y otros sistemas similares a Unix muestran números de "promedio de carga". Estos números le indican qué tan ocupados están la CPU, el disco y otros recursos de su sistema. Al principio no se explican por sí mismos, pero es fácil familiarizarse con ellos.

WIKI: example, one can interpret a load average of "1.73 0.60 7.98" on a single-CPU system as:

during the last minute, the system was overloaded by 73% on average (1.73 runnable processes, so that 0.73 processes had to wait for a turn for a single CPU system on average).
during the last 5 minutes, the CPU was idling 40% of the time on average.
during the last 15 minutes, the system was overloaded 698% on average (7.98 runnable processes, so that 6.98 processes had to wait for a turn for a single CPU system on average) if dual core mean: 798% - 200% = 598%. 

Probablemente tenga un sistema con varias CPU o una CPU de varios núcleos. Los números de promedio de carga funcionan de manera un poco diferente en dicho sistema. Por ejemplo, si tiene un promedio de carga de 2 en un sistema de una sola CPU, esto significa que su sistema se sobrecargó en un 100 por ciento: todo el período de tiempo, un proceso estaba usando la CPU mientras que otro proceso estaba esperando. En un sistema con dos CPU, esto sería un uso completo: dos procesos diferentes usaban dos CPU diferentes todo el tiempo. En un sistema con cuatro CPU, esto sería la mitad del uso: dos procesos usaban dos CPU, mientras que dos CPU estaban inactivas.

Para comprender el número promedio de carga, necesita saber cuántas CPU tiene su sistema. Un promedio de carga de 6.03 indicaría que un sistema con una sola CPU se sobrecargó masivamente, pero estaría bien en una computadora con 8 CPU.

más info: Enlace

j-shan huang
fuente