Для просмотра сообщений ядра в Linux используется команда dmesg
. Это стандартная утилита, которая позволяет получить доступ к кольцевому буферу сообщений ядра. Давайте разберем, как она работает, какие параметры можно использовать и как извлечь полезную информацию.
Основные моменты работы с dmesg
Что делает
dmesg
?
dmesg
выводит сообщения из кольцевого буфера ядра. Это могут быть сообщения о загрузке системы, событиях железа, драйверах, файловой системе и многие другие.Как используется команда?
Основная команда:
Это выведет весь буфер сообщений ядра, начиная с самых старых записей.
Ключевые параметры для команды dmesg
-c
(clear): Очищает буфер сообщений ядра после их вывода. Полезно, если нужно вывести только те сообщения, которые были записаны после вызова команды.-T
(timestamp): Преобразует метки времени (которые по умолчанию в секундах с момента старта ядра) в читаемые временные метки. Это удобнее, если вам нужно понять, когда происходили те или иные события.-H
(human-readable): Выводит сообщения в удобном для чтения формате, например, с использованием более понятных меток времени.-l
(level): Фильтрует сообщения по уровню важности. Можно указать уровень отemerg
доdebug
:emerg
: критические сообщения, система не может продолжать работать.alert
: требуется срочное внимание.crit
: критическая ошибка.err
: ошибки.warning
: предупреждения.notice
: уведомления.info
: информационные сообщения.debug
: отладочная информация.
Пример:
-n
(set level): Позволяет установить максимальный уровень сообщений, которые будут выводиться. Например,-n 1
выводит только самые критические сообщения (с уровнемemerg
).-f
(facility): Фильтрует сообщения по источнику их возникновения. Например, это может быть ядро, драйверы, файловая система и другие.--time-format
: Можно изменить формат вывода временных меток (например, с секунд на читабельный формат).-s
(size): Указывает размер выводимых данных в байтах. Например, если вам нужно вывести больше информации, вы можете увеличить этот параметр:
Примеры использования
Посмотреть все сообщения в читаемом виде:
Отфильтровать ошибки и предупреждения:
Показать сообщения, которые были записаны после последнего вызова
dmesg
:Получить информацию о загрузке системы:
Просмотр ошибок ядра, связанных с устройствами:
Фильтрация сообщений по определенному драйверу или устройству:
Например, чтобы увидеть сообщения о сетевом интерфейсе:
Работа с кольцевым буфером
Кольцевой буфер ядра — это ограниченная память, в которой сохраняются сообщения о событиях в системе. После его заполнения старые сообщения стираются. В случае, если вы хотите иметь доступ к более старым данным, необходимо регулярно сохранять их в файл.
Сохранение сообщений ядра в файл
Для этого можно просто перенаправить вывод команды dmesg
в файл:
Или если необходимо с датой и временем:
Использование journalctl
Если ваша система использует systemd, то для просмотра журналов сообщений ядра можно использовать команду journalctl
, которая более мощная и гибкая.
Пример:
Эта команда покажет только сообщения ядра. Также можно использовать другие фильтры для вывода сообщений с определенным уровнем важности, по времени или по устройствам.
Заключение
Команда dmesg
— это мощный инструмент для диагностики проблем с ядром и оборудованием. Использование фильтров и дополнительных опций позволяет эффективно анализировать логи и находить нужную информацию. Если вам нужно больше данных или удобный интерфейс для работы с журналами, то лучше использовать journalctl
.