通过Android中的进程线程查找资源(CPU和内存)的使用情况

时间:2012-02-15 03:03:23

标签: android resources pthreads

我有一个多线程应用程序(C ++,C和pthread库),我想知道每个线程使用多少资源(CPU和内存)。有没有办法在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

任何知道哪些线程与其父ID一起运行的方式都会非常有用。

使用

$ adb logcat -v threadtime 

打印有关正在运行的进程(PID)和线程(TID)的信息。 但是,这还不足以达到我的目的。我想知道特定线程消耗了多少资源。任何指针。

1 个答案:

答案 0 :(得分:1)

与linux相比,android中的

ps命令似乎非常有限。

你可以尝试:

ps -t -c APP_NAME

这将显示线程(-t)和分配给线程的CPU(-c)

示例:

ps -t -c -p com.whatsapp

-p是线程优先级(linux nice value)