Linux内核模块查看方法全解析
时间:2026-03-29 22:11:37 411浏览 收藏
本文系统详解了在Linux系统中查看内核模块的五种核心方法:通过lsmod快速列出已加载模块及其依赖关系,直接读取/proc/modules获取原始状态数据,使用modprobe -l枚举所有可用但未加载的模块,借助modinfo深入查询模块元信息(如参数、作者、路径),并结合depmod分析和验证模块依赖完整性;无论您是排查驱动异常、确认硬件支持、调试模块冲突,还是编写自动化脚本,这些实用命令都能帮助您精准掌握内核模块的实时运行状态与底层配置细节。

如果您需要确认当前 Linux 系统中哪些内核模块已成功载入内存,以便排查驱动异常、验证硬件支持或调试模块依赖问题,则可通过标准内核模块管理命令进行实时查询。以下是查看已加载内核模块的多种方法:
一、使用 lsmod 列出全部已加载模块
lsmod 是最直接的内置工具,它读取 /proc/modules 文件并以结构化格式输出所有当前活跃模块的名称、大小、引用计数及依赖关系。
1、在终端中执行命令:lsmod
2、若需筛选特定模块(如检查是否加载了 nvidia 驱动),运行:lsmod | grep nvidia
3、为提升可读性,可结合分页查看:lsmod | less
二、通过 /proc/modules 文件直接读取原始数据
该方式绕过命令解析层,直接访问内核暴露的模块状态接口,适用于脚本化采集或调试环境受限场景。
1、使用 cat 命令查看:cat /proc/modules
2、若需按模块大小排序(从大到小),执行:awk '{print $2, $1}' /proc/modules | sort -nr
3、统计当前加载模块总数:wc -l /proc/modules
三、使用 modprobe -l 列出所有可用但未加载的模块
此操作不显示已加载项,而是枚举系统中所有预编译完成、位于 /lib/modules/$(uname -r)/ 下的可加载模块文件(.ko 或 .ko.xz),用于比对缺失模块或确认模块存在性。
1、列出全部可用模块路径:modprobe -l
2、仅显示包含关键词的模块(如查找 ext4 相关):modprobe -l | grep ext4
3、统计可用模块总数:modprobe -l | wc -l
四、使用 modinfo 查询指定模块的元信息
当已知模块名但不确定其是否已加载时,modinfo 可验证模块文件是否存在、获取作者、许可证、参数定义等静态属性,辅助判断模块兼容性与加载前提。
1、查看模块基本信息:modinfo module_name(例如:modinfo usb_storage)
2、仅提取模块文件路径:modinfo -n module_name
3、列出模块支持的所有参数:modinfo -p module_name
五、结合 depmod 检查模块依赖图谱
depmod 本身不显示加载状态,但它生成的依赖数据库是 modprobe 自动加载的基础。若模块因依赖缺失而无法加载,检查该数据库完整性可定位根本原因。
1、更新当前内核版本对应的依赖映射:sudo depmod -a
2、查看某模块的显式依赖项:modinfo module_name | grep depends
3、验证依赖文件是否存在:ls /lib/modules/$(uname -r)/modules.dep*
好了,本文到此结束,带大家了解了《Linux内核模块查看方法全解析》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
228 收藏
-
125 收藏
-
317 收藏
-
328 收藏
-
381 收藏
-
290 收藏
-
183 收藏
-
287 收藏
-
194 收藏
-
175 收藏
-
399 收藏
-
141 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习