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