当前位置:首页 > Ubuntu > 正文

Ubuntu lsmod命令详解(Linux系统查看已加载内核模块的实用指南)

在使用 Ubuntu 或其他 Linux 发行版时,你可能会遇到需要了解当前系统中加载了哪些内核模块的情况。这时候,lsmod 命令就派上用场了。本文将手把手教你如何使用 lsmod 命令,即使是 Linux 新手也能轻松掌握!

什么是内核模块?

Linux 内核是操作系统的核心部分,负责管理硬件、内存、进程等关键资源。为了提高灵活性和效率,Linux 支持“可加载内核模块”(Loadable Kernel Modules, LKMs)。这些模块可以在系统运行时动态加载或卸载,无需重启系统。例如,当你插入一个 USB 设备时,系统可能自动加载对应的驱动模块。

Ubuntu lsmod命令详解(Linux系统查看已加载内核模块的实用指南) lsmod命令  Linux内核模块 查看已加载模块 系统管理命令 第1张

lsmod 命令的作用

lsmod 是 “list modules” 的缩写,用于列出当前 Linux 内核中已加载的所有模块。它读取 /proc/modules 文件并以人类可读的方式展示结果。

如何使用 lsmod 命令?

在 Ubuntu 终端中,只需输入以下命令即可:

lsmod  

执行后,你会看到类似如下的输出:

Module                  Size  Used bynvidia_uvm           1234567  0snd_hda_codec_realtek   123456  1i915                  2345678  4...(省略更多模块)  

输出包含三列信息:

  • Module:模块名称
  • Size:模块占用的内存大小(字节)
  • Used by:该模块被多少其他模块或进程使用(数字),以及依赖它的模块列表(如果有)

结合 grep 过滤特定模块

由于系统通常加载了上百个模块,直接查看全部内容可能不太方便。你可以使用 grep 命令来搜索特定模块。例如,查找与无线网卡相关的模块:

lsmod | grep wifi  

或者查找 NVIDIA 显卡驱动模块:

lsmod | grep nvidia  

与其他模块管理命令配合使用

除了 lsmod,还有几个常用命令可以配合使用:

  • modinfo 模块名:查看模块的详细信息(如作者、版本、参数等)
  • insmod 模块名.ko:手动加载模块(需 root 权限)
  • rmmod 模块名:卸载模块(需 root 权限)

注意:insmodrmmod 通常不推荐直接使用,建议使用更智能的 modprobe 命令,它能自动处理依赖关系。

常见问题解答

Q:lsmod 显示的模块能删除吗?

A:只有未被使用的模块(Used by 列为 0)才能安全卸载。强行卸载正在使用的模块可能导致系统崩溃。

Q:为什么有些驱动看不到?

A:某些驱动可能已编译进内核(而非作为模块加载),因此不会出现在 lsmod 输出中。

总结

lsmod 是一个简单但强大的工具,帮助你了解 Ubuntu 系统当前加载了哪些 Linux内核模块。通过它,你可以诊断硬件驱动问题、排查系统性能瓶颈,甚至学习内核工作机制。掌握这个命令,是迈向 Linux 系统管理的重要一步。

希望这篇教程让你对 Ubuntu lsmod命令 有了清晰的认识。如果你正在学习 系统管理命令,不妨多尝试结合 grepmodinfo 等工具,提升你的 查看已加载模块 效率!