lsmod是一個(gè)命令行實(shí)用程序,用于顯示有關(guān)已加載的Linux內(nèi)核模塊的信息。
內(nèi)核模塊
內(nèi)核是操作系統(tǒng)的核心組件。它管理系統(tǒng)的資源,并且是計(jì)算機(jī)硬件和軟件之間的橋梁。
Linux內(nèi)核具有模塊化設(shè)計(jì)。內(nèi)核模塊(通常稱為驅(qū)動(dòng))是一段擴(kuò)展內(nèi)核功能的代碼。模塊要么編譯為可加載模塊,要么內(nèi)置在內(nèi)核中??杉虞d模塊可以根據(jù)需要在正在運(yùn)行的內(nèi)核中進(jìn)行加載和卸載,而無需重新引導(dǎo)系統(tǒng)。
通常,模塊由udev(設(shè)備管理器)按需加載。您也可以使用modprobe命令將模塊手動(dòng)加載到內(nèi)核中,或者在引導(dǎo)時(shí)使用 /etc/modules 或者 /etc/modules-load.d/* .conf文件自動(dòng)將模塊加載到內(nèi)核中。
內(nèi)核模塊存儲(chǔ)在 /lib/modules/<kernel_version>目錄中。要查找正在運(yùn)行的內(nèi)核的發(fā)行版本,請(qǐng)使用uname -r命令。
lsmod命令
lsmod是一個(gè)簡(jiǎn)單的實(shí)用程序,不接受任何選項(xiàng)或參數(shù)。該命令的作用是讀取/proc/modules并以格式正確的列表顯示文件內(nèi)容。
在命令行中運(yùn)行l(wèi)smod,以了解當(dāng)前正在加載哪些內(nèi)核模塊:
[linuxidc@linux:~/www.linuxidc.com]$ lsmod
該命令在新行上輸出每個(gè)已加載內(nèi)核模塊的信息:
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 – 第二列顯示以字節(jié)為單位的模塊大小。
- Used by – 第三列顯示一個(gè)數(shù)字,指示當(dāng)前使用了多少個(gè)模塊實(shí)例。 零值表示未使用該模塊。 數(shù)字后的逗號(hào)分隔列表顯示正在使用的模塊。
要確定是否已加載特定模塊,請(qǐng)使用grep過濾輸出。 例如,要查找是否已加載vsock模塊,請(qǐng)運(yùn)行:
[linuxidc@linux:~/www.linuxidc.com]$ lsmod | grep vsock