售前咨询400-838-0503

如何查看Linux服务器的内核模块?

发布:2025-03-31 19:20

搜索全部帮助分类的文档

Linux服务器内核模块查看全攻略:8种专业方法解析

一、为什么要查看内核模块?

Linux内核模块(Kernel Module)是可以在系统运行时动态加载到内核中的代码段。作为系统管理员或开发人员,经常需要:

  • 排查硬件驱动问题
  • 检查安全漏洞(如未打补丁的模块)
  • 优化系统性能
  • 开发自定义驱动程序
Linux内核架构示意图

二、8种核心查看方法

1. lsmod命令(最常用)

$ lsmod
Module                  Size  Used by
xt_conntrack           16384  1
nf_conntrack          139264  1 xt_conntrack
...

输出说明:模块名称、占用内存大小、被引用次数

2. modinfo查看详细信息

$ modinfo nf_conntrack
filename:       /lib/modules/5.4.0-88-generic/kernel/net/netfilter/nf_conntrack.ko
license:        GPL
description:    Netfilter connection tracking module
...

3. /proc/modules文件

$ cat /proc/modules
nf_conntrack 139264 1 xt_conntrack, Live 0xffffffffc0a00000

4. 通过sysfs文件系统

$ ls /sys/module/

5. dmesg查看加载日志

$ dmesg | grep -i module

6. 使用dkms工具

$ sudo dkms status

7. 检查启动加载模块

$ cat /etc/modules
# /etc/modules: kernel modules to load at boot time
lp
rtc

8. 图形化工具(适合新手)

使用KInfoCenter或HardInfo工具查看

三、高级应用场景

1. 查找特定硬件驱动模块

$ lspci -k | grep -A 3 -i ethernet

2. 检查模块依赖关系

$ modprobe --show-depends nvidia

3. 安全审计(检查可疑模块)

$ find /lib/modules/$(uname -r) -name "*.ko" -exec shasum {} \;

⚠️ 注意事项

  • 修改内核模块需要root权限
  • 错误操作可能导致系统崩溃
  • 生产环境操作前建议备份
  • 不同Linux发行版命令可能略有差异

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单