使用fatrace
,我发现在我的计算机上,modprobe
大约每秒运行一次。为了找出原因,我modprobe
暂时用这个脚本替换:
#!/bin/bash
echo "$0" "$@" > /tmp/asdf
echo >> /tmp/asdf
echo $PPID >> /tmp/asdf
这表明 modprobe 被调用为
/sbin/modprobe -q -- multi-user
在 Google 上没有出现任何相关结果。
父进程始终是[kworker/u48:2]
。我如何才能找出导致此问题的原因?
答案1
在...的帮助下这StackOverflow 答案,我确定ifplugd
最终对调用负责modprobe
。 ps
显示
root 883 0.0 0.0 6292 1128 ? S Dec01 2:34 /usr/bin/ifplugd -i multi-user -fwI -u0 -d10
正在运行,可能解释了调用multi-user
中的奇怪参数modprobe
。我跑了
# systemctl stop ifplugd@multi-user
# systemctl disable ifplugd@multi-user
# fatrace
并确认modprobe
不再重复执行。
答案2
观看 uevents:
udevadm monitor
确保旧的自动加载模块方式已被禁用:
sudo sysctl kernel.hotplug=""