使用性能记录/报告进行高频性能计数器采样

使用性能记录/报告进行高频性能计数器采样

我想使用该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

相关内容