lsmod是一个命令行实用程序,用于显示有关已加载的Linux内核模块的信息。
内核模块
内核是操作系统的核心组件。它管理系统的资源,并且是计算机硬件和软件之间的桥梁。
Linux内核具有模块化设计。内核模块(通常称为驱动)是一段扩展内核功能的代码。模块要么编译为可加载模块,要么内置在内核中。可加载模块可以根据需要在正在运行的内核中进行加载和卸载,而无需重新引导系统。
通常,模块由udev(设备管理器)按需加载。您也可以使用modprobe命令将模块手动加载到内核中,或者在引导时使用 /etc/modules 或者 /etc/modules-load.d/* .conf文件自动将模块加载到内核中。
内核模块存储在 /lib/modules/<kernel_version>目录中。要查找正在运行的内核的发行版本,请使用uname -r命令。
lsmod命令
lsmod是一个简单的实用程序,不接受任何选项或参数。该命令的作用是读取/proc/modules并以格式正确的列表显示文件内容。
在命令行中运行lsmod,以了解当前正在加载哪些内核模块:
[linuxidc@linux:~/www.linuxidc.com]$ lsmod
该命令在新行上输出每个已加载内核模块的信息:
Module Size Used by
nls_utf8 16384 1
isofs 49152 1
rfcomm 81920 4
intel_rapl_msr 20480 0
intel_rapl_common 24576 1 intel_rapl_msr
crct10dif_pclmul 16384 1
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
bnep 24576 2
aesni_intel 372736 0
aes_x86_64 20480 1 aesni_intel
vmw_balloon 24576 0
crypto_simd 16384 1 aesni_intel
cryptd 24576 2 crypto_simd,ghash_clmulni_intel
glue_helper 16384 1 aesni_intel
intel_rapl_perf 20480 0
vmw_vsock_vmci_transport 32768 2
vsock 36864 3 vmw_vsock_vmci_transport
...
每行有三列:
- Module – 第一列显示模块的名称。
- Size – 第二列显示以字节为单位的模块大小。
- Used by – 第三列显示一个数字,指示当前使用了多少个模块实例。 零值表示未使用该模块。 数字后的逗号分隔列表显示正在使用的模块。
要确定是否已加载特定模块,请使用grep过滤输出。 例如,要查找是否已加载vsock模块,请运行:
[linuxidc@linux:~/www.linuxidc.com]$ lsmod | grep vsock
vmw_vsock_vmci_transport 32768 2
vsock 36864 3 vmw_vsock_vmci_transport
vmw_vmci 69632 2 vmw_balloon,vmw_vsock_vmci_transport
...
有关模块的详细信息,请使用modinfo命令。
总结
lsmod命令显示了当前加载的内核模块的列表。
如有任何疑问,请在Linux公社的评论栏里留下您宝贵的意见。
更多Linux命令相关信息见Linux命令大全 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=16
本文永久更新链接地址:https://www.linuxidc.com/Linux/2020-02/162291.htm