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,以了解当前正在加载哪些内核模块:

[linuxidc@linux:~/www.linuxidc.com]$ 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模块,请运行:

[linuxidc@linux:~/www.linuxidc.com]$ lsmod | 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公社的评论栏里留下您宝贵的意见。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11537.html