如何在没有调用图数据的情况下显示Linux perf record -g 的报告?

如何在没有调用图数据的情况下显示Linux perf record -g 的报告?

我收集了一个应用程序的性能概况perf record -g

默认情况下,perf report显示调用链数据:

   100.00%     0.00%  htop     htop                [.] main
            |
            ---main
               |          
                --99.96%--ScreenManager_run
                          |          
                          |--98.98%--ProcessList_scan

如果我-g在记录时没有指定,是否可以生成 Linux 性能报告?

即,我希望我的报告如下所示:

36.26%  htop     [kernel.kallsyms]   [k] __d_lookup
 5.65%  htop     [kernel.kallsyms]   [k] __d_lookup_rcu
 3.41%  htop     [kernel.kallsyms]   [k] pid_revalidate
 2.68%  htop     [kernel.kallsyms]   [k] _raw_spin_lock

答案1

Linux perf 的最新版本允许指定none调用链的“类型”。因此,为了实现您所需要的,您应该perf report按如下方式运行:

perf report -g none --no-children ...

请注意,文档 ( man perf report) 可能不会提及此选项。

相关内容