какая утилита используется с целью просмотра списка загруженных модулей ядра

Для просмотра списка загруженных модулей ядра Linux используется утилита lsmod. Она предоставляет информацию о модулях, которые в настоящее время загружены в ядро системы.

Развернутый ответ

Что такое модули ядра?

Модули ядра (или просто модули) — это объектные файлы, которые содержат код, выполняющий различные функции для операционной системы. Эти модули можно загружать и выгружать из ядра без перезагрузки системы, что дает гибкость в управлении функциональностью. Примеры модулей:

  • Драйверы устройств (например, для видеокарт или сетевых адаптеров).

  • Протоколы сетевого стека.

  • Файловые системы.

Утилита lsmod

Команда lsmod отображает список всех загруженных в ядро модулей. Это довольно простая, но мощная утилита, которая использует информацию из системного файла /proc/modules для вывода данных. Этот файл содержит подробную информацию о текущих модулях и их статусе.

Основной синтаксис:

bash
lsmod

Пример вывода команды:

bash
Module Size Used by nvidia 1024000 35 snd_hda_intel 45056 3 snd_pcm 102400 1 snd_hda_intel

В этом выводе:

  • Module — имя модуля.

  • Size — размер модуля в байтах.

  • Used by — количество процессов или других модулей, которые используют этот модуль (в данном случае, это число может быть больше, если модуль используется несколькими компонентами).

Детали:

  1. Module — название модуля, который был загружен.

  2. Size — размер модуля в памяти. Обычно это размер бинарного файла, который был загружен в ядро.

  3. Used by — количество других модулей или процессов, которые используют данный модуль. Если в этой колонке указано число (например, «1»), это значит, что данный модуль используется только одним процессом или модулем. Если значение больше 1, то несколько модулей или процессов используют его одновременно.

Использование утилиты

  1. lsmod без аргументов: Покажет все загруженные модули в системе.

    bash
    lsmod
  2. Фильтрация вывода: Если вам нужно найти конкретный модуль, можно использовать grep:

    bash
    lsmod | grep nvidia

    Это покажет только строки, содержащие «nvidia» в имени модуля.

Другие утилиты для работы с модулями

Кроме lsmod, для управления модулями ядра есть и другие полезные утилиты:

  1. modinfo:
    Показывает информацию о модуле, включая его описание, авторство, лицензию, зависимости и другие параметры.
    Пример:

    bash
    modinfo nvidia

    Вывод может быть таким:

    vbnet
    filename: /lib/modules/5.4.0-80-generic/updates/dkms/nvidia.ko license: NVIDIA description: NVIDIA GPU Driver author: NVIDIA Corporation ...
  2. modprobe:
    Утилита для загрузки и выгрузки модулей. Например, чтобы загрузить модуль:

    bash
    sudo modprobe nvidia

    Или чтобы выгрузить модуль:

    bash
    sudo modprobe -r nvidia
  3. insmod:
    Простой способ загрузить модуль в ядро, но в отличие от modprobe не решает зависимости между модулями, так что это обычно используется для опытных пользователей:

    bash
    sudo insmod nvidia.ko
  4. rmmod:
    Используется для выгрузки модуля:

    bash
    sudo rmmod nvidia

Место хранения модулей

Модули обычно находятся в каталоге /lib/modules/$(uname -r)/. Здесь $(uname -r) возвращает текущую версию ядра. Например:

bash
/lib/modules/5.4.0-80-generic/

Просмотр зависимостей модулей

Чтобы просмотреть, какие модули зависят от других, можно использовать утилиту lsmod и искать колонку «Used by». Однако для более детального анализа зависимостей используется утилита modprobe -c или просмотр файлов конфигурации.

Пример сценария:

Предположим, вы хотите узнать, загружен ли драйвер для вашего сетевого устройства:

  1. Сначала проверьте все загруженные модули с помощью команды lsmod.

  2. Используйте grep для поиска по ключевому слову, связанному с устройством (например, название драйвера).

    bash
    lsmod | grep eth

Это даст вам информацию о том, загружен ли драйвер для вашего сетевого интерфейса.

Заключение

Команда lsmod — это удобный способ быстро получить список всех загруженных модулей ядра. Для более глубокого анализа или управления модулями в Linux используется комбинация инструментов, таких как modinfo, modprobe, и другие утилиты.

Scroll to Top

Карта сайта