lsmod是一个命令行程序,用于显示已加载的Linux内核模块的信息。
内核是操作系统的核心组件。它管理系统的资源,并且是计算机硬件和软件之间的桥梁。
Linux内核具有模块化设计。内核模块通常称为驱动程序是一段扩展内核功能的代码。
模块要么编译为可加载模块,要么内置在内核中。可加载模块可以根据需要在正在运行内核中进行加载和卸载,且不需要重新启动系统。
通常,内核模块是由udev按需加载的,udev通常被称为设备管理器。您也可以使用modprobe命令将模块手动加载到内核中。
也可以在/etc/modules
或/etc/modules-load.d/*.conf
文件指定要自动加载的模块,在启动时自动加载到内核。
内核模块存储在/lib/modules/<kernel_version>
目录中。<kernel_version>
表示内核版本号,要找到正在运行的Linux内核版本号,请使用uname -r
命令。
lsmod命令
lsmod是一个简单的命令,不接受任何选项或参数。lsmod命令的作用是读取/proc/modules文件内容并以格式化的列表显示文件内容。
要解正在运行Linux 内核加载模块,请使用快捷键打开ctrl+alt+t
终端,运行命令lsmod
,命令将打印已加载内核模块的信息,每一行表示一个内核模块。
每行包含三列,Module
第一列显示模块的名称。Size
第二列以字节为单位显示模块的大小。
Used by
第三列显示一个数字,数字指示当前模块被多少个模块使用,也就是依赖该模块有多少个模块。
零值表示该模块未其它模块使用。数字后的逗号分隔列表,表示依赖该模块的其它模块名称。
lsmod
Module Size Used by
cmac 16384 0
rfcomm 81920 4
...
ahci 40960 1
intel_lpss_pci 20480 0
i2c_i801 32768 0
libahci 32768 1 ahci
intel_lpss 16384 1 intel_lpss_pci
...
要确定是否已加载特定模块,请使用grep命令过滤输出。 例如,要查看是否已加载kvm
模块,请运行命令lsmod | grep kvm
。
如果你需要显示详细的模块信息,请使用modinfo
命令,后跟模块的名称。例如命令modinfo kvm
将会打印kvm模块的详细信息。
lsmod | grep kvm
modinfo kvm
kvm_intel 278528 0
kvm 651264 1 kvm_intel
irqbypass 16384 1 kvm
结论
lsmod
命令显示了当前加载的内核模块的列表。如有任何疑问,请随时发表评论。