首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >perf:无法合成bpf事件

perf:无法合成bpf事件
EN

Stack Overflow用户
提问于 2021-02-03 09:35:48
回答 1查看 975关注 0票数 5

我试图让perf工具在我们的linux设置中运行,它们没有/不能有linux源代码。因此,我在另一台机器上下载了linux代码并编译了perf (cd tools/perf;make)。我将perf二进制文件复制到目标机器上。然而,在开始记录时,它说“无法合成bpf事件”。

代码语言:javascript
复制
root> perf record -a -g --call-graph dwarf -p 836
Warning:
PID/TID switch overriding SYSTEM
Couldn't synthesize bpf events.
[ perf record: Woken up 1 times to write data ]
Failed to read max cpus, using default of 4096
[ perf record: Captured and wrote 0.057 MB perf.data ]

在目标机器上运行的Linux版本:5.4.66-rt38-intel-pk-preempt-rt

我用来编译perf:https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git/log/?h=v5.4-rt的代码

因为我得到了“无法合成bpf事件”,所以我认为我不会在perf报告中得到用户空间堆栈。使用perf获取正在运行的进程的用户空间堆栈时,我应该做些什么来消除这个错误?请给我建议!

EN

回答 1

Stack Overflow用户

发布于 2021-02-04 08:15:11

内核配置中没有启用CONFIG_BPF_SYSCALL。在启用它之后,我可以看到“无法合成bpf”已经消失了。把答案标记出来。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66024727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档