Linux中lsmod命令及其相关操作具体有哪些用法?

摘要:1、概述 在Linux世界中,内核模块就像是系统的“即插即用”组件,它们允许内核在运行时动态扩展功能,而无需重新启动计算机。无论是硬盘驱动、网络协议还是显卡驱动,都常常以模块形式存在。那么,如何查看当前有哪些模块正在运行呢?答案就是使用&a
1、概述 在Linux世界中,内核模块就像是系统的“即插即用”组件,它们允许内核在运行时动态扩展功能,而无需重新启动计算机。无论是硬盘驱动、网络协议还是显卡驱动,都常常以模块形式存在。那么,如何查看当前有哪些模块正在运行呢?答案就是使用lsmod​ 命令。 2、什么是lsmod? 简单来说,lsmod是一个用于快速列出当前已加载到Linux内核中的所有模块的简单工具。它就像是系统的“模块任务管理器”,能让你一目了然地看到所有活跃的内核模块。 它的语法非常直接,直接在终端输入命令即可,不需要任何参数: lsmod 3、解读lsmod的输出 执行命令后,你会看到一个类似这样的表格: Module Size Used by veth 13458 0 xt_nat 12681 25 xt_conntrack 12760 3 ipt_MASQUERADE 12678 16 nf_nat_masquerade_ipv4 13463 1 ipt_MASQUERADE nf_conntrack_netlink 36396 0 nfnetlink 14519 2 nf_conntrack_netlink iptable_nat 12875 4 nf_conntrack_ipv4 15053 4 nf_defrag_ipv4 12729 1 nf_conntrack_ipv4 nf_nat_ipv4 14115 1 iptable_nat nf_nat 26583 3 nf_nat_ipv4,xt_nat,nf_nat_masquerade_ipv4 nf_conntrack 139264 6 nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_netlink,nf_conntrack_ipv4 xt_addrtype 12676 2 iptable_filter 12810 1 ....... 我们来分解一下各列的含义: Module(模块名):第一列显示已加载模块的名称,例如nf_conntrack; Size(大小):第二列显示该模块所占用的内存大小,单位是字节(Bytes); Used by(被…使用):这是最关键的一列,它说明了模块的依赖和使用情况。 如果显示为0,表示该模块当前没有被任何其他模块使用; 如果显示为数字,表示该模块被多少个其他模块依赖; 如果显示为模块名称列表,则具体指出了是哪些模块在依赖它。例如,上表中的nf_conntrack模块被nf_nat,nf_nat_ipv4等6个模块使用。 4、实用技巧示例 lsmod本身很简单,但结合其他命令能发挥更大作用: 4.1查找特定模块你可以使用grep命令来快速过滤结果,检查某个模块(比如nf_conntrack连接追踪)是否已加载 lsmod | grep -i nf_conntrack 4.2 获取模块的详细信息 lsmod只提供基本信息。如果你想了解某个模块的详细描述、版本、作者等,需要使用modinfo命令。
阅读全文