我有一个多线程应用程序(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)的信息。 但是,这还不足以达到我的目的。我想知道特定线程消耗了多少资源。任何指针。
答案 0 :(得分:1)
ps命令似乎非常有限。
你可以尝试:
ps -t -c APP_NAME
这将显示线程(-t)和分配给线程的CPU(-c)
示例:
ps -t -c -p com.whatsapp
-p是线程优先级(linux nice value)