【问题标题】:why does perf script not work?为什么 perf 脚本不起作用?
【发布时间】:2022-04-08 22:19:52
【问题描述】:

作为 Linux 中的绿色人物,我想使用“perf”来生成火焰图。 为了确保正常运行,我按照'Flame Graph'官方github页面的说明进行操作[https://github.com/brendangregg/FlameGraph]

但是,当我使用命令pref script > out.pref 时,出现了这些错误:

no symbols found in /usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so, maybe install a debug package? Failed to open /tmp/perf-6637.map, continuing without symbols Failed to open /tmp/perf-6663.map, continuing without symbols Failed to open /tmp/perf-6674.map, continuing without symbols Failed to open /tmp/perf-6703.map, continuing without symbols Failed to open /tmp/perf-6713.map, continuing without symbols Failed to open /tmp/perf-6720.map, continuing without symbols Failed to open /tmp/perf-6755.map, continuing without symbols Failed to open /tmp/perf-6772.map, continuing without symbols

我多次搜索谷歌和perf的维基,发现另一个命令perf script -i perf.data % > out.pref,确实有效。

但是下一个命令perl ../FlameGraph/stackcollapse-perf.pl perf.unfold & > perf.folded 会发出这个错误:

[1]+ Stopped perf script -i perf.data

好像也解决不了这个问题。我尝试从源代码为我的系统重建性能,但这似乎也没有帮助。

我已经尝试了多种变体,但似乎都不起作用。最好的方法是什么?提前致谢。

【问题讨论】:

    标签: linux perf


    【解决方案1】:

    如果你想解决符号问题,你可以尝试这样做:

    # Install the debugging symbols for vmwgfx_dri and your kernel using something 
    
    dnf debuginfo-install -y mesa-dri-drivers
    dnf debuginfo-install -y kernel
    

    我认为使用 flamgraph 工具,您只需与 perf.data 文件位于同一目录中,然后运行: 火焰图 > my_flamegraph.svg

    然后您在浏览器中或使用某种 svg 查看器打开 my_flamegraph.svg。

    perf 脚本将向您显示您使用 perf 分析的程序堆栈的文本版本,这也非常有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-18
      • 2020-12-14
      • 2015-06-16
      • 2016-11-03
      • 2021-12-18
      • 2013-10-20
      • 2012-10-07
      • 2015-10-14
      相关资源
      最近更新 更多