lsmod仅显示加载状态,无法确认是否在用、签名或硬件绑定,需结合dmesg、lspci、ethtool、modinfo等交叉验证。模块名不匹配、黑名单或签名问题可致lsmod遗漏,需其他命令深入排查。
Linux怎么用lsmod查看已加载内核模块?
作者:技术拾光
时间:2026-06-22
浏览:425
文章目录
lsmod 仅显示模块加载状态,无法确认是否正在使用、是否包含签名或是否绑定硬件,需要结合 dmesg、lspci、ethtool、modinfo 等命令进行交叉验证。
lsmod 能够直接列出当前已加载的内核模块,但这一描述仅部分准确。虽然它确实可以列出模块,但仅凭 lsmod 无法判断模块是否真正被使用、是否经过签名、是否与特定硬件绑定。这些详细信息需要借助其他命令逐层获取。
为什么 lsmod 显示模块但无法卸载
常见场景:执行 rmmod nvidia 时出现 Module nvidia is in use 错误,而 lsmod | grep nvidia 第三列显示的 Used by 值为 0。这种情况的原因如下:
Used by 0仅表示没有其他模块显式引用该模块,并不代表内核内部没有持有引用。例如,GPU 正在渲染、设备文件被打开、或者有代码通过try_module_get()主动增加了引用计数。- 真实的占用信息通常记录在
dmesg中。执行dmesg | tail -20,检查是否包含nvidia: module is in use或类似提示。 - 部分模块属于“常驻”类型,例如
kvm_intel。即使没有运行虚拟机,该模块也会保持加载状态,Used by长期显示0,但尝试rmmod时仍会报错。
lsmod | grep xxx 容易遗漏模块,推荐使用以下方式
直接使用 grep 搜索模块名容易出现遗漏,主要原因包括:
- 模块名不等于驱动名或文件名。例如,
nvme_core.ko加载后显示的名称是nvme_core,而非nvme。 - 一个驱动常被拆分为多个模块(如
nvidia、nvidia_modeset、nvidia_uvm),仅搜索主名称会遗漏依赖模块。 - 搜索区分大小写,且不支持通配符——
lsmod | grep nvme*无法生效。
更可靠的方法是先提取第一列再过滤:
lsmod | awk '{print $1}' | grep -i -E '^(nvme|nvidia|kvm|kysec)'
确认模块是否真正生效,不能仅依赖 lsmod
lsmod 只能说明模块代码已加载到内存,并不能代表驱动已绑定到设备,也不代表模块参数已生效。
- 检查硬件绑定:对于 PCI 设备,使用
lspci -k -s $(lspci | grep -i nvidia | cut -d' ' -f1)查看Kernel driver in use:字段——这才是驱动与硬件绑定的直接证据。 - 检查网卡驱动:使用
ethtool -i eth0确认driver字段不为空,而不是仅凭lsmod | grep e1000便认为驱动已生效。 - 检查模块参数是否加载成功:先执行
modinfo -p nvidia | grep NVreg_EnableGpuFirmware,再对比cat /sys/module/nvidia/parameters/NVreg_EnableGpuFirmware,若两者不一致,说明参数并未生效。 - 检查安全模块状态:通过
lsmod | grep apparmor看到模块后,仍需执行aa-status确认安全策略已运行,才算完成验证。
lsmod 看不到模块?先排查以下三点
如果预期模块未出现在 lsmod 输出中,无需立即重装驱动,可按照以下顺序排查:
- 模块是否未加载?手动执行
sudo modprobe nvidia && lsmod | grep nvidia,而非仅依赖开机自动加载——有时只是触发条件未满足。 - 模块是否被列入黑名单?执行
modprobe --showconfig | grep -A5 'blacklist nvidia',或检查/etc/modprobe.d/*.conf文件中是否存在blacklist nvidia配置行。 - 模块签名是否不匹配?当内核启用了
CONFIG_MODULE_SIG_FORCE=y时,未签名的模块会被静默拒绝。执行dmesg | grep -i "signature",若看到module verification failed提示,则lsmod中自然不会显示该模块。
lsmod 只是排查的起点,而非终点。模块加载仅反映最表层的状态,真正影响系统行为的是模块是否绑定设备、参数是否生效、签名是否被接受、依赖关系是否完整——这些均需借助其他命令逐层深入才能确认。
实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。
相关文章