繁体   English   中英

为什么 perf 脚本不起作用?

[英]why does perf script not work?

作为 Linux 中的绿色图形,我想使用“perf”来生成火焰图。 为了确保正常运行,我遵循了“火焰图”官方 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

在google和perf的wiki上搜索了很多次,发现了另外一个命令perf script -i perf.data % > out.pref ,确实可以用。

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

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

好像也解决不了这个问题。 我尝试从源代码为我的系统重建性能,但这似乎也无济于事。

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

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

# 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 文件位于同一目录中,然后运行:flamegraph > my_flamegraph.svg

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM