Linux perf记录不生成任何样本

时间:2018-04-27 00:37:59

标签: linux arm perf

我正在尝试在具有PMU支持的aria10 fpga板(带有2个ARM Cortex A9 CPU)上配置我的用户空间程序。我正在运行windriver linux版本9.x.我使用人们在互联网上建议的几乎所有CONFIG_选项构建了我的内核。另外,我的pgm是用-fno-omit-frame-pointer和-g options编译的。

我看到'perf record'根本不生成任何样本。 'perf stat true'输出看起来有效(不知道该怎么做)。有没有人有建议/想法为什么我没有看到任何样本被生成?

~: perf record --call-graph dwarf --  my_app

^C
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.003 MB perf.data ]

~: perf report -g graph --no-children
Error:
The perf.data file has no samples!
 To display the perf.data header info, please use --header/--header-only options.

~: perf stat true

 Performance counter stats for 'true':

      1.095300      task-clock (msec)         #    0.526 CPUs utilized          
             0      context-switches          #    0.000 K/sec                  
             0      cpu-migrations            #    0.000 K/sec                  
            22      page-faults               #    0.020 M/sec                  
       1088056      cycles                    #    0.993 GHz                    
        312708      instructions              #    0.29  insn per cycle         
         29159      branches                  #   26.622 M/sec                  
         16386      branch-misses             #   56.20% of all branches        

   0.002082030 seconds time elapsed

我没有在此设置中使用VM。 Arria10是具有2个ARM CPU的intel FPGA,支持PMU。

编辑: 1.我现在意识到ARM CPU具有HW PMU支持(与我之前提到的相反)。即使有了HW PMU支持,我也无法做到记录'成功。

1 个答案:

答案 0 :(得分:1)

这是一个古老的问题,但对于通过搜索找到该问题的人来说:

perf record -e cpu-clock <command>

为我工作。问题似乎是默认事件(周期)不可用