【问题标题】:Simpleperf cpu-cycles not supported in Android devicesAndroid 设备不支持 Simpleperf cpu-cycles
【发布时间】:2017-02-08 13:43:04
【问题描述】:

我正在尝试在我的 Android ndk 应用程序中使用 simpleperf 进行分析,但是当我键入 simpleperf 记录命令时,系统会报告此消息:

simpleperf E 02-08 13:34:47 15380 15380 event_selection_set.cpp:68] 内核不支持事件类型“cpu-cycles”

我读了这个教程:https://android.googlesource.com/platform/system/extras/+/master/simpleperf/README.md

我按照以下步骤操作:

  Make android debuggable=true in the manifest. 

  adb shell setprop security.perf_harden 0 

  adb shell 

  shell@mako:  run-as com.mysample.test

  adb push bin/android/arm/simpleperf /data/local/tmp

  shell@mako: cp /data/local/tmp/simpleperf .

  shell@mako: ./simpleperf record -p  12083 --duration 30

这是否意味着硬件不支持nexus 4 cpu-cycles,或者我没有激活内核上的特定安全标志?

我正在使用已root的nexus 4设备。

Ndk 版本 13b。

安卓版本:5.1

内核版本:3.4.0-perf-gf75bb4f

pd:因为和perf相似,所以我打了perf标签。

提前致谢。

乌奈。

【问题讨论】:

    标签: android android-ndk perf


    【解决方案1】:

    Nexus 4 支持 cpu-cycles 事件。我在git历史中找不到内核版本f75bb4f,所以没有测试同一个内核。我已经通过在 ndk-r13b 中使用 simpleperf 在 nexus 4 上刷新 5.1.1 (LMY48T) 进行了测试,并且它可以工作。所以我怀疑你使用的内核禁用了 perf 事件,你可以通过在 https://developers.google.com/android/images#occam 中刷新一个新图像来解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 2015-09-25
      相关资源
      最近更新 更多