如何查看Linux内核加载的模块

2025-04发布6次浏览

在Linux系统中,内核模块是可动态加载和卸载的代码片段,它们扩展了内核的功能。查看当前已加载的内核模块对于系统管理和故障排查非常重要。以下是详细的步骤和方法来查看Linux内核加载的模块。

方法一:使用lsmod命令

lsmod 是一个用于显示当前加载到内核中的模块的工具。它实际上读取 /proc/modules 文件并以易于理解的格式输出。

步骤:

  1. 打开终端。
  2. 输入以下命令并按回车:
    lsmod
    
  3. 输出结果将列出所有已加载的模块及其大小和依赖关系。例如:
    Module                  Size  Used by
    nf_conntrack_ipv4      16384  3
    nf_defrag_ipv4         16384  1 nf_conntrack_ipv4
    xt_state               16384  1
    

方法二:直接查看/proc/modules

/proc/modules 是一个包含当前加载模块信息的文件,lsmod 命令实际上是解析这个文件的内容。

步骤:

  1. 打开终端。
  2. 输入以下命令并按回车:
    cat /proc/modules
    
  3. 这个命令会输出与 lsmod 类似的详细信息,但格式可能稍有不同。

方法三:使用modinfo命令获取特定模块信息

如果你想了解某个具体模块的详细信息,可以使用 modinfo 命令。

步骤:

  1. 打开终端。
  2. 输入以下命令并按回车(以查看名为 nf_conntrack_ipv4 的模块为例):
    modinfo nf_conntrack_ipv4
    
  3. 输出将包括模块的作者、描述、参数等详细信息。

扩展知识:管理内核模块

除了查看已加载的模块,你还可以使用其他命令来管理这些模块:

  • 加载模块:使用 insmodmodprobe 命令加载模块。
    sudo modprobe module_name
    
  • 卸载模块:使用 rmmodmodprobe -r 命令卸载模块。
    sudo rmmod module_name
    
  • 禁用模块自动加载:编辑 /etc/modprobe.d/blacklist.conf 文件,添加一行 blacklist module_name

注意事项

  • 确保有足够的权限执行上述命令,通常需要 root 权限。
  • 不要随意卸载关键系统模块,这可能会导致系统不稳定或无法正常工作。