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

快速了解Linux中的lsmod命令

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命令。

# modinfo nf_conntrack
filename:       /lib/modules/3.10.0-1160.el7.x86_64/kernel/net/netfilter/nf_conntrack.ko.xz
license:        GPL
retpoline:      Y
rhelversion:    7.9
srcversion:     8B9F3AAA206BFFB785D7D0C
depends:        libcrc32c
intree:         Y
vermagic:       3.10.0-1160.el7.x86_64 SMP mod_unload modversions 
signer:         CentOS Linux kernel signing key
sig_key:        E1:FD:B0:E2:A7:E8:61:A1:D1:CA:80:A2:3D:CF:0D:BA:3A:A4:AD:F5
sig_hashalgo:   sha256
parm:           tstamp:Enable connection tracking flow timestamping. (bool)
parm:           acct:Enable connection tracking flow accounting. (bool)
parm:           nf_conntrack_helper:Enable automatic conntrack helper assignment (default 1) (bool)
parm:           expect_hashsize:uint

5、相关命令简介

lsmod是内核模块管理工具链中的一员。了解它与其它命令的关系有助于更好地进行系统管理。

命令功能与 lsmod的关系
modprobe 智能加载/卸载模块,能自动处理依赖关系。 使用 sudo modprobe <模块名>加载新模块后,可用 lsmod验证是否成功。
insmod 低级模块加载器,需要指定模块文件的完整路径,不处理依赖。 更推荐使用 modprobe
rmmod 卸载模块,但需确保模块未被使用。 卸载前用 lsmod检查 "Used by" 列;卸载后用 lsmod确认。

6、总结

总的来说,lsmod是一个简单而强大的基础命令,是系统管理员和开发者排查硬件驱动问题、了解系统内核组件运行状态的首选工具。无论你是要确认驱动是否正常加载,还是检查模块间的依赖关系,lsmod通常都是高效的第一步。

http://www.jsqmd.com/news/50491/

相关文章:

  • 2025年专业的GEO优化实力厂家找哪家,GEO优化杭州服务商推荐TOP5,覆盖多行业需求
  • iOS 混淆应用链实战 多专业的工具组合搞定 IPA 混淆与加固(iOS混淆|IPA加固|无源码加固|App 防反编译)
  • Windows Server 2022 桌面体验版采用Deployment Center 安装TeamCenter 2506 (上)
  • 完整教程:跨厂商(华为 H3C)防火墙 IPSec 隧道部署
  • 2025 最新废气焚烧炉厂家推荐排行榜:聚焦化工医药农药行业,甄选技术创新与合规适配优质企业化工废气焚烧炉/农药废气焚烧炉/医药废气焚烧炉/RTO 废气焚烧炉公司推荐
  • 2025年行业内复购率高的真空包装袋批发厂家口碑推荐榜,真空包装袋推荐排行榜单精选综合实力TOP企业
  • kafka 的ack机制
  • 窗体关闭事件
  • AcWing 788:逆序对的数量 ← 树状数组 + 离散化(数组 + sort + STL map)
  • AI 数据分析如何保障准确性?Aloudata Agent 构建可信数据基础
  • MWD脉冲器电路关键技术与挑战
  • 2025年广东早恋教育机构权威推荐榜单:素质教育/打架/厌学源头机构精选
  • tignerVNC
  • 麒麟系统V10SP1更新到指定内核方法
  • 深入解析:英集芯 IP5326 集成Type-C协议的2.4A充放电移动电源SOC
  • 视频汇聚平台EasyCVR打造阳光药房远程可视化智慧监管体系
  • 2025厦门口碑好的留学中介有哪些
  • 2025年河北大口径胶管权威推荐榜单:河北大口径抽沙胶管/河北大口径吸沙胶管/河北喷砂吸排法兰胶管源头厂家精选
  • 2025广州权威的留学机构排名榜
  • DeerFlow源码分析
  • 2025北京留学机构前十名有哪些
  • 2025年北京回收二手红木家具公司权威推荐榜单:回收红木家具高价/回收阔叶黄檀家具/回收缅甸花梨家具源头公司精选
  • 2025澳大利亚研究生留学中介哪个好
  • 视频融合平台EasyCVR助力城市渣土车管理,打造智能联网监控方案
  • 服务器远程连接不上怎么回事?怎么解决?
  • 多位
  • CF1458C Latin Square
  • 2025年湖北阴囊湿疹怎么治疗护理权威推荐榜单:湖北附睾结核怎么治疗/湖北脓尿怎么治疗/湖北肾盂肾炎怎么治疗综合医院特色门诊精选
  • 2025广州权威的留学机构排名前十
  • 2025北京留学机构一览表最新