android - Android(在 ARM 上)是否有硬件性能计数器?

标签 android performance monitor

所以就像在 Linux on Intel 处理器中一样,我们有大量的硬件性能计数器可以访问。像以前一样,使用名为 perfmon2 的用户空间软件,我可以获得缓存未命中率、由于某种原因(例如,L1 缓存未命中)导致的 CPU 停顿周期等值。

我的问题是,我们在 Android 中有这些东西吗?由于它基于 ARM,我认为我们没有像 x86 中那样强大的性能监视器计数器支持,对吗?

最佳答案

ARM11 和 Cortex-A/R 确实有硬件性能计数器。您可以在该页面的 ARM 官方网站上查看:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4237.html

由于 Android 也在 Linux 之上运行,您可以通过“Perf Events”子系统通过用户空间软件访问性能计数器。但是,您需要编写 native C 代码,其中包括“perf_event.h”并使用 Android NDK 构建它。在开始编写代码之前,我建议您看一下这个项目:platform/external/linux-tools-perf ( https://android.googlesource.com/platform/external/linux-tools-perf/ ),它可能正是您要找的。我不知道是否有任何替代方案可以直接从 Java 代码执行此操作。

关于android - Android(在 ARM 上)是否有硬件性能计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729717/

相关文章:

ruby-on-rails - 上帝无法启动redis服务器。收到此错误 : `/var/run/redis/redis-server.pid' : Permission denied

iphone - xCode 4 中的内存监视器 - iPhone

android - 在 JNI 共享库中查找函数?

android - Android 中的 Log4j 实现

algorithm - 有效地确定电子表格中行之间的关系

c# - 从 OpenHardwareMonitor 获取硬件温度

java - Eclipse:创建两个共享文件的项目

android - 将数据从我的混合 Ionic 2 应用程序传递到 inAppBrowser

python - 使用 timeit() 和均值假设检验

java - 调试akka性能