我想使用该perf
工具以高频率(即 100-200Hz)检索性能计数器计数(功能类似于https://github.com/RRZE-HPC/likwid/wiki/likwid-perfctr#the-timeline-mode但频率更高)。有没有办法做到这一点?如果是这样,在使用 记录perf record
和报告结果时需要使用哪些标志perf report
?
到目前为止,我已尝试以下方法在sleep 5
执行期间以 5 毫秒的间隔检索 r6d70 性能计数器:sudo perf record -F200 -e r6d70 -a sleep 5
。但是,当我用来perf report
查看输出的数据时,我看到以下内容,这并不是我真正想要的:
Samples: 109 of event 'r6d70', Event count (approx.): 68432
Overhead Command Shared Object Symbol
33.77% swapper [kernel.kallsyms] [k] update_blocked_averages
10.30% node [kernel.kallsyms] [k] update_blocked_averages
9.07% containerd [kernel.kallsyms] [k] update_load_avg
8.98% containerd [kernel.kallsyms] [k] __switch_to
8.56% node node [.] Builtins_LdaNamedPropertyHandler
5.90% swapper [kernel.kallsyms] [k] __sched_text_start
5.88% swapper [kernel.kallsyms] [k] cpufreq_this_cpu_can_update
5.81% nautilus [kernel.kallsyms] [k] update_blocked_averages
4.56% node node [.] v8::platform::tracing::TracingController
3.82% swapper [kernel.kallsyms] [k] arch_irq_work_raise
3.20% containerd [kernel.kallsyms] [k] select_task_rq_fair
0.03% swapper [kernel.kallsyms] [k] acpi_idle_do_entry