linuxlsmod命令
linuxlsmod命令详细介绍
在 Linux 系统中,lsmod 命令用于显示当前已加载到内核中的模块(驱动程序或功能模块)的信息。以下是关于该命令的详细说明:
1. 命令用途
- 查看系统当前加载的内核模块(
.ko文件)。 - 检查特定驱动或功能是否已加载。
- 了解模块之间的依赖关系。
2. 语法格式
bash
lsmod
无需参数,直接运行即可。
3. 输出字段说明
命令输出包含三列,各列含义如下:
| 列名 | 说明 |
|---|---|
| Module | 模块名称(如 nfs, vfat, nvidia 等)。 |
| Size | 模块占用的内存大小(单位:字节)。 |
| Used by | 使用该模块的计数(数字表示被引用次数),或 -(表示未被使用)。 |
4. 示例输出
bash
$ lsmodModule Size Used by
nfsd
nfsv3 nfsd
nfs nfsd,nfsv3
.
5. 常用操作
(1) 过滤特定模块
结合 grep 查找特定模块是否加载(如查看 nvidia 模块):
bash
lsmod nvidia
(2) 与其他模块管理命令配合使用
- 加载模块:
modprobe <模块名>或insmod <模块路径> - 卸载模块:
rmmod <模块名>(需确保模块未被使用) - 查看模块详细信息:
modinfo <模块名>
6. 注意事项
- 无需管理员权限:普通用户可查看模块列表,但加载 / 卸载模块需
root权限。 - 模块存储位置:内核模块通常位于
/lib/modules/$(uname -r)/kernel/目录下。 - 依赖关系:卸载模块时需先处理依赖(可使用
modprobe -r <模块名>自动处理依赖)。
7. 替代方案
- 直接读取内核文件:
cat /proc/modules,输出格式与lsmod一致。 - 使用
kmod工具集(如kmod list),功能更强大(支持过滤、排序等)。
通过 lsmod,可以快速确认系统是否加载了所需的驱动(如显卡、文件系统、网络设备等),是排查硬件驱动问题或内核功能时的常用工具。