我试着用perf工具来测量我的Android手机的cpu使用量。因为我的手机(Redmi Note 3)没有perf工具。我使用了google提供的simpleperf工具。我使用perf record -e cpu-cycles -a记录了系统宽cpu的使用情况。perf报告的cpu使用开销必须增加到100%,但是我从我的电话中得到的cpu使用情况报告经过10分钟的分析后加起来只有12%。当我把手机闲置时,我分析了一下,所有的应用程序都被杀死了。
此外,当我分析了1分钟,它增加了大约70%。
不正常吗?或者perf不报告cpu的空闲时间,所以我只剩下12%的cpu使用量?
发布于 2018-07-06 13:31:11
我发现这是因为perf中的浮点(精度)误差。由于perf只在运行perf记录足够长的时间内计算开销,即使开销累积不到0.01%,在30分钟后,它们的加起来约为50%,因此报告的开销仅为50%,因为其余的50%来自0.00x%,后者被四舍五入到0.00%。
https://stackoverflow.com/questions/51157938
复制相似问题