【问题标题】:Ftrace "function" enabling fails with resource busyFtrace“功能”启用失败,资源繁忙
【发布时间】:2020-01-24 14:33:42
【问题描述】:

我正在尝试通过后在 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


    【解决方案1】:

    Fwiw 我的问题是我在trace 或者更确切地说trace_pipe 文件上有一个阅读器。我的读者是bpftool prog tracelog

    【讨论】:

    • 该问题的解决方案是什么?如果没有解决方案,这只是一个评论,而不是一个答案。
    【解决方案2】:

    我也有这个。在我的情况下,我让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
    $
    

    【讨论】:

      猜你喜欢
      • 2015-06-03
      • 1970-01-01
      • 2019-11-29
      • 2017-09-02
      • 1970-01-01
      • 2019-02-01
      • 2016-08-29
      • 2015-09-24
      • 2013-05-12
      相关资源
      最近更新 更多