售前咨询400-838-0503

Linux系统如何查看系统模块信息?

发布:2025-06-01 07:36

Linux系统查看模块信息的终极指南

在Linux系统管理和维护过程中,了解系统内核模块的详细信息是每个管理员必备的技能。本文将深入介绍7种查看Linux系统模块信息的方法,帮助您全面掌握系统内核的运行状态。

1. lsmod命令 - 查看已加载模块

lsmod是最简单直接的模块查看命令,它会显示当前系统中所有已加载的内核模块列表。

# lsmod
Module                  Size  Used by
nvidia              14336000  0
uvcvideo               90112  0
videobuf2_vmalloc      16384  1 uvcvideo

输出结果包含三列信息:模块名称、占用内存大小和被依赖情况。

2. modinfo命令 - 获取模块详细信息

要查看特定模块的详细元数据,modinfo命令是最佳选择。

# modinfo nvidia
filename:       /lib/modules/5.4.0-72-generic/kernel/drivers/video/nvidia.ko
version:        460.73.01
license:        NVIDIA
description:    NVIDIA Graphics Driver
author:         NVIDIA Corporation

该命令可以显示模块的文件位置、版本号、作者、许可证等关键信息。

3. /proc/modules文件 - 系统模块状态

Linux系统的/proc/modules文件包含了所有加载模块的状态信息。

# cat /proc/modules
nvidia 14336000 0 - Live 0x0000000000000000
uvcvideo 90112 0 - Live 0x0000000000000000

格式与lsmod类似,但包含了模块的内存地址等额外信息。

4. dmesg命令 - 查看模块加载日志

dmesg命令可以显示内核环形缓冲区中的消息,包括模块加载和卸载的记录。

# dmesg | grep -i module
[    2.804355] Loaded module nvidia
[    2.876543] Module uvcvideo initialized

5. /sys/module目录 - 模块文件系统

Linux在/sys/module目录下为每个加载的模块创建了对应的子目录。

# ls /sys/module/nvidia
holders  initsize  notes  refcnt  sections  srcversion  taint  uevent

这些目录中包含模块的各种属性和状态文件,可以直接查看。

6. depmod命令 - 模块依赖关系

depmod命令用于生成模块依赖关系文件,也可以用来查看模块间的依赖关系。

# depmod -n | grep nvidia
nvidia: vfio_pci

7. 内核配置中的模块信息

要查看内核编译时配置的模块信息,可以查看config文件:

# cat /boot/config-$(uname -r) | grep CONFIG_MODULES
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y

实用技巧

  • 使用modprobe -c查看所有模块的配置参数
  • find /lib/modules -name "*.ko"查找所有可用模块文件
  • modprobe --show-depends 模块名显示模块依赖关系

掌握这些查看Linux系统模块信息的方法,将使您能够更好地理解系统运行机制,诊断模块相关问题,并进行有效的系统维护。建议将这些命令加入您的系统管理工具箱,定期检查模块状态以确保系统稳定运行。

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

提交工单