【发布时间】:2019-09-09 20:41:30
【问题描述】:
我在内核黑客中启用了“内核内存泄漏检测器”选项并重建/重新启动系统,现在 kmemleak 文件存在于 /sys/kernel/debug 文件夹中,但似乎我无法通过“echo”触发扫描scan > /sys/kernel/debug/kmemleak”,我已经将 debugfs 挂载到 /sys/kernel/debug,但是当我尝试触发扫描时,它给了我“-bash: echo: write error: Device or resource busy”。我的猜测是这是因为我在 /sys 文件夹中没有写权限,即使我是 root 用户。任何建议如何解决这个问题?非常感谢。
我试过了
【问题讨论】:
-
如果禁用了 kmemleak,则 kmemleak sysfs 写入处理程序返回
EBUSY。您是否通过回显off关闭了kmemleak?如果不是,Linux 内核是用CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y构建的吗?您是否尝试过通过 Linux 内核 bootargs/cmdline 引导kmemleak=on? -
我没有回显,未设置 CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF(我检查了我的 .config 文件),我也尝试过重新启动“kmemleak=on”并且我做了“回显扫描 > /sys/kernel /debug/kmemleak" 重新启动后,它仍然给我同样的错误。
标签: c linux-kernel kernel