我正在使用simpleperf来分析我的Android应用程序,因为我发现Android Profiler非常有限。
我正在使用录制样本
./app_profiler.py -p com.foo.myapp -r "-e task-clock:u -f 1000 -g"
然后,我可以很好地显示所有线程的相对于整个应用程序的CPU使用率。有没有办法告诉我实际使用了多少可用的CPU能力?即报告绝对使用次数?
我发现某些选项不理想:
top
实时显示它,但没有给出很好的平均值(与Android Profiler相同)simpleperf stat
可以很好地显示它,但运行独立于simpleperf record
--duration 60
,然后将task-clock
的报告毫秒数除以该数量。但是,这似乎有高达+/- 50%的偏差!而且我必须提前知道要录制多长时间。普通的perf
工具具有一个perf stat record
命令,该命令根据记录显示统计信息,这似乎与我正在寻找的内容完全相同,但是simpleperf不支持该记录。