Поиск использования ресурсов (ЦП и памяти) потоками процесса в Android - PullRequest
5 голосов
/ 15 февраля 2012

У меня есть многопоточное приложение (C ++, C и библиотека pthread), и я хотел бы знать, сколько ресурсов (ЦП и память) использует каждый поток. Есть ли способ узнать эти подробности на Android?

Я пытался

$ adb shell ps -p -t 

Но, это дает информацию в следующем формате,

USER     PID   PPID  VSIZE  RSS   PRIO  NICE  RTPRI SCHED   WCHAN    PC         NAME

root      1     0     476    312   20    0     0     0     c037c0e0 000087bc S /init

root      2     0     0      0     20    0     0     0     c031f114 00000000 S kthreadd

root      3     2     0      0     20    0     0     0     c030e5d0 00000000 S ksoftirqd/0

root      4     2     0      0     -100  0     99    1     c033fc50 00000000 S watchdog/0

root      5     2     0      0     20    0     0     0     c031b4b4 00000000 S events/0

root      6     2     0      0     20    0     0     0     c031b4b4 00000000 S khelper

Любой способ узнать, какие потоки работают вместе с идентификатором их родителя, будет действительно полезен.

с использованием

$ adb logcat -v threadtime 

печатает информацию о запущенном процессе (PID) и потоке (TID). Но этого недостаточно для моей цели. Я хочу знать, сколько ресурсов потребляет конкретный поток. Любые указатели.

1 Ответ

1 голос
/ 05 марта 2014
Команда

ps в Android кажется очень ограниченной по сравнению с Linux.

Вы можете попробовать:

ps -t -c APP_NAME

Это покажет вам потоки (-t) и процессор, назначенный дляthread (-c)

Пример:

ps -t -c -p com.whatsapp

-p - приоритет потока (значение linux nice)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...