【发布时间】:2012-08-16 16:27:38
【问题描述】:
我需要在 android 中获取一个进程的总 cpu 时间。我正在尝试使用adb shell 顶级命令,但它只提供cpu usage 的百分比。
但我需要整个过程的cpu time。我可以在我的 Ubuntu 中获取此信息,但我找不到在 android 中获取 TIME+ 列的方法。
有什么建议吗?
【问题讨论】:
我需要在 android 中获取一个进程的总 cpu 时间。我正在尝试使用adb shell 顶级命令,但它只提供cpu usage 的百分比。
但我需要整个过程的cpu time。我可以在我的 Ubuntu 中获取此信息,但我找不到在 android 中获取 TIME+ 列的方法。
有什么建议吗?
【问题讨论】:
我不确定这是否适用于非 root 设备,但是:
echo $(adb shell ps | grep com.android.phone | awk '{ system("adb shell cat /proc/" $2 "/stat");}' | awk '{print $14+$15;}')
这将打印进程使用的用户模式 jiffies 和内核模式 jiffies 的总和。将 com.android.phone 替换为您感兴趣的进程的名称。
【讨论】:
man proc 并向下滚动到关于/proc/[pid]/stat 的部分。它按顺序列出字段的名称。