perf15 天以来我一直面临着一个相关问题。希望这里的大佬们能帮我解决这个问题。
我需要让perf工具在具有 ARM 架构的设备上运行。但是,在记录跟踪点事件然后运行./perf报告时,它显示共享对象名称为[unknown],符号为00000,而对于软件和硬件事件,我没有遇到此问题。我已经交叉编译了perfmailine上可用的工具并将其移植到具有ARM架构的设备上。
在内核 3.4 的基于 ARM 的设备上输出。
./perf record -e kmem:kmalloc cal
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.007 MB perf.data (~321 samples) ]
./perf report
Overhead Command Shared Object Symbol
....... ............. .............. ...............
40.78% cal [unknown] [.]00000000
31.6% cal [unknown] [.]00000000
[...]
Run Code Online (Sandbox Code Playgroud)
在 ubuntu 12.04 系统(内核 3.10)上它工作得很好。
x86 架构上的输出
./perf record -e kmem:kmalloc gcalctool
[ perf record: Woken up 3 times to write data ]
[ perf record: Captured and wrote 0.27 MB perf.data (~845 samples) ]
./perf report --stdio
Overhead Command Shared Object Symbol
........... ......... ............ ............
96.55% cal [kernel.kallsyms] [k] kmem_cache_alloc_trace
3.45% cal [kernel.kallsyms] [.]__kmalloc
[...]
Run Code Online (Sandbox Code Playgroud)
热切地等待您的帮助。
谢谢。