android - 在 Android 中查找进程线程对资源(CPU 和内存)的使用情况

标签 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) 的信息。 但是,这还不足以满足我的目的。我想知道特定线程消耗了多少资源。任何指针。

最佳答案

与 linux 相比,android 中的 ps 命令似乎非常有限。

你可以试试:

ps -t -c APP_NAME

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

例子:

ps -t -c -p com.whatsapp

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

关于android - 在 Android 中查找进程线程对资源(CPU 和内存)的使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9287315/

相关文章:

Android:无需重新定位屏幕即可将数据加载到 Webview

android - 将新字体安装到 Android 模拟器的最佳方法是什么?

java - 从jar中获取资源

c - 为 pthread 分配内存,然后 fork + execvp

Linux 线程性能在 GDB 下非常快,但在其他情况下非常慢

android - 如何在屏幕关闭时让 Android 在后台保持清醒

android - 在哪里向三星报告特定于设备的错误?

java - AAR 不包括模块的资源

java - 使用 java 将 jar 中的 .wav 文件作为资源播放

正确使用 POSIX 的 pthread_exit 和 pthread_join