В Linux команда lsmod
выводит список загруженных в данный момент модулей: размер, счётчик использования, и модули, связанные с каждым из загруженных.
Содержание
Введение
Ядро операционной системы Linux, являясь её основным компонентом, управляет ресурсами системы и имеет модульную конструкцию.
Модуль ядра, часто называемый драйвером, расширяет функциональные возможности ядра. Модули бывают загружаемыми, либо встроенными в ядро.
Загружаемые модули загружаются и выгружаются в работающем ядре по запросу без перезагрузки системы. Модули загружаются либо автоматически, либо вручную с помощью команды modprobe
.
Хранятся модули ядра в каталоге /lib/module/<версия_ядра>
:
oleg@mobile:~:$ ls -l /lib/modules
итого 12
drwxr-xr-x 3 root root 4096 янв 1 10:44 6.12.7-arch1-1/
drwxr-xr-x 2 root root 4096 янв 13 2023 6.1.4-arch1-1/
drwxr-xr-x 3 root root 4096 янв 13 2023 6.1.5-arch2-1/
oleg@mobile:~:$
Работающее ядро:
oleg@mobile:~:$ uname -r
6.12.7-arch1-1
oleg@mobile:~:$
Использование команды Linux lsmod
Вывод загруженных модулей
Для получения вывода загруженных модулей достаточно запустить команду:
oleg@mobile:~:$ lsmod
Module Size Used by
ccm 20480 6
intel_rapl_msr 20480 0
intel_rapl_common 53248 1 intel_rapl_msr
x86_pkg_temp_thermal 16384 0
intel_powerclamp 20480 0
coretemp 20480 0
crct10dif_pclmul 12288 1
crc32_pclmul 12288 0
rtl8187 65536 0
polyval_generic 12288 0
uvcvideo 180224 0
at24 28672 0
i2c_i801 45056 0
gf128mul 16384 1 polyval_generic
mei_pxp 20480 0
...
mbcache 16384 1 ext4
jbd2 208896 1 ext4
i915 4579328 7
serio_raw 20480 0
i2c_algo_bit 20480 1 i915
atkbd 40960 0
drm_buddy 24576 1 i915
libps2 20480 2 atkbd,psmouse
ttm 106496 1 i915
vivaldi_fmap 12288 1 atkbd
hid_generic 12288 0
intel_gtt 28672 1 i915
crc32c_intel 16384 5
drm_display_helper 270336 1 i915
i8042 57344 0
sr_mod 28672 0
cec 94208 2 drm_display_helper,i915
cdrom 81920 1 sr_mod
usbhid 86016 0
video 81920 2 i915,samsung_laptop
serio 28672 6 serio_raw,atkbd,psmouse,i8042
wmi 28672 1 video
oleg@mobile:~:$
Список загруженных модулей выведен в табличной форме:
Module
Имя модуля
Size
Размер модуля в байтах
Used by
Число раз использования модуля запущенными программами. Рядом — список модулей, ссылающихся на этот.
Список Used by
может быть неполным, так как если модуль управляет собственной выгрузкой, то отображаемый lsmod
счётчик использования всегда равен -1.
Проверка факта загрузки ли определённого модуля
Для проверки факта загрузки ли определённого модуля можно отфильтровать вывод с помощью grep
. Для примера проверим факт загружки модуля rtl8187
:
oleg@mobile:~:$ lsmod | grep rtl8187
rtl8187 65536 0
mac80211 1638400 1 rtl8187
cfg80211 1396736 2 mac80211,rtl8187
eeprom_93cx6 12288 1 rtl8187
rfkill 40960 6 bluetooth,samsung_laptop,rtl8187,cfg80211
oleg@mobile:~:$
Заключение
В этой короткой статье были приведены примеры работы с командой Linux lsmod
. Несомненно, что эта простая команда будет полезна многим.