5 votos

Obtener el tiempo total de CPU de un proceso

Necesito obtener el tiempo total de cpu de un proceso en Android. Estoy tratando de usar los comandos adb shell top, pero sólo da el uso de la cpu en términos de porcentaje.

Pero necesito el tiempo total de cpu del proceso. Puedo obtener esta información en mi Ubuntu, pero no pude encontrar una manera de obtener la columna TIME+ en Android.

¿Alguna sugerencia?

0 votos

¿Su pregunta se limita al uso de la cáscara, o también serían útiles otras opciones?

0voto

martinatime Puntos 1863

No has mencionado qué versión de Android estás ejecutando, pero creo que esto funcionará en la mayoría de las versiones modernas. La ubicación exacta dentro de la configuración puede cambiar dependiendo de la versión y el fabricante del dispositivo.

Si entras en Ajustes -> Batería y luego seleccionas una aplicación, obtendrás algunos o todos los detalles siguientes:

  • Tiempo total de la CPU en segundos
  • Tiempo de vigilia en segundos
  • Envío de datos
  • Datos recibidos

Creo que estos datos son válidos desde la última vez que el dispositivo arrancó.

0voto

Jared Rummler Puntos 101

Este pequeño shell script que acabo de escribir debería funcionar. Analiza /proc/<PID>/stat .

#!/system/bin/sh

if [ $# -ne 1 ]
then
    echo "Please provide a PID"
    exit 0
fi

pid=$1
stat=/proc/${pid}/stat
line=$(sed 's|.*) ||' $stat)
utime=$(echo $line | awk '{print $12}')
stime=$(echo $line | awk '{print $13}')
cputime=$((10 * $stime + $utime))
echo $cputime # milliseconds

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X