我正在尝试在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中尝试函数跟踪程序时,是否因为某些原因而错过了“设备或资源繁忙”的信息?
任何帮助将不胜感激。
答案 0 :(得分:0)
我的问题是我在trace
或trace_pipe
文件中拥有读者。在我的情况下,读者是bpftool prog tracelog
。
答案 1 :(得分:0)
我也有这个。在我的情况下,我进行了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
$