Ftrace“功能”启用因资源繁忙而失败

问题描述 投票:0回答:3

我正在尝试在经历过之后在 ftrace 中启用“功能”跟踪器

这是命令。

# cat /sys/kernel/debug/tracing/current_tracer                             
nop
# cat /sys/kernel/debug/tracing/tracing_on
#cat /sys/kernel/debug/tracing/tracing_on
1
# echo function > current_tracer                             
-sh: echo: write error: Device or resource busy
#

当我在 ftrace 中尝试函数跟踪器时,我是否错过了一些东西,导致“设备或资源繁忙”。

任何帮助将非常感激。

linux linux-kernel embedded-linux ftrace
3个回答
3
投票

我也有这个。就我而言,我让

rasdaemon
进程读取一些跟踪文件,防止
current_tracer
被切换。 这是我的解决方法。

首先我运行 lsof:

$ sudo lsof 2>/dev/null | grep /sys/kernel/debug/tracing
bash      2990940                            root  cwd       DIR               0,11         0          1 /sys/kernel/debug/tracing
rasdaemon 2997322                            root    5r      REG               0,11         0     132936 /sys/kernel/debug/tracing/instances/rasdaemon/per_cpu/cpu0/trace_pipe_raw
...

我的 bash 是第一个,但其他进程来自 rasedaemon 服务。我停止了它:

systemctl stop rasdaemon.service

然后就成功了:

$ echo function | sudo tee current_tracer
function
$

0
投票

Fwiw,我的问题是,在我的案例中,我有一个关于

trace
或者更确切地说
trace_pipe
文件的读者。我的例子中的读者是
bpftool prog tracelog


© www.soinside.com 2019 - 2024. All rights reserved.