小编boo*_*ang的帖子

perf:无法合成 bpf 事件

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

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 ]
Run Code Online (Sandbox Code Playgroud)

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

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

因为我得到这个“无法合成 bpf 事件”,所以我认为我没有在性能报告中获取用户空间堆栈。我应该怎么做才能消除此错误以使用 perf 获取正在运行的进程的用户空间堆栈?请指教!

perf

6
推荐指数
1
解决办法
2036
查看次数

停止从命令行启动二进制文件

如何使应用程序阻止自己从命令行启动?

我有一个应该由守护进程启动的二进制文件; 但是当有人试图从命令行启动二进制文件时,我应该错误地说"无法从命令行启动".尝试使用谷歌搜索,但徒劳无功.

PS.http://www.daniweb.com/software-development/c/threads/449682/stop-launching-from-command-line 我想检查是否有比链接中提到的更好的方法..

c linux

3
推荐指数
1
解决办法
113
查看次数

标签 统计

c ×1

linux ×1

perf ×1