Linux中的Lsmod命令(列出内核模块)

lsmod是一个命令行实用程序,用于显示有关已加载的Linux内核模块的信息。

内核模块

内核是操作系统的核心组件。它管理系统的资源,并且是计算机硬件和软件之间的桥梁。

Linux内核具有模块化设计。内核模块(通常称为驱动)是一段扩展内核功能的代码。模块要么编译为可加载模块,要么内置在内核中。可加载模块可以根据需要在正在运行的内核中进行加载和卸载,而无需重新引导系统。

通常,模块由udev(设备管理器)按需加载。您也可以使用modprobe命令将模块手动加载到内核中,或者在引导时使用 /etc/modules 或者 /etc/modules-load.d/*  .conf文件自动将模块加载到内核中。

内核模块存储在 /lib/modules/<kernel_version>目录中。要查找正在运行的内核的发行版本,请使用uname -r命令。

lsmod命令

lsmod是一个简单的实用程序,不接受任何选项或参数。该命令的作用是读取/proc/modules并以格式正确的列表显示文件内容。

在命令行中运行lsmod,以了解当前正在加载哪些内核模块:

该命令在新行上输出每个已加载内核模块的信息:

Linux中的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模块,请运行:

Linux中的Lsmod命令(列出内核模块)

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公社的评论栏里留下您宝贵的意见。

猜你喜欢

转载自www.linuxidc.com/Linux/2020-02/162291.htm
今日推荐