Высокочастотная выборка счетчика производительности с использованием записи/отчета производительности

Высокочастотная выборка счетчика производительности с использованием записи/отчета производительности

Я хочу получить показания счетчика производительности на высокой частоте (т. е. 100-200 Гц) с помощью perfинструмента (похожего по функциональности наhttps://github.com/RRZE-HPC/likwid/wiki/likwid-perfctr#the-timeline-modeно с более высокой частотой). Есть ли способ сделать это? Если да, то какие флаги мне нужно использовать при записи perf recordи сообщении результатов с помощью perf report?

До сих пор я пробовал следующее, чтобы получить счетчик производительности r6d70 с интервалом в 5 мс во время sleep 5выполнения: 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

Связанный контент