dmesg

dmesg (сокр. от англ. diagnostic message) — команда, используемая в UNIX‐подобных операционных системах для вывода буфера сообщений ядра в стандартный поток вывода (stdout) (по умолчанию на экран).

Загрузка ОС

Первым делом в dmesg попадают сообщения о загрузке ядра ОС в память компьютера. А также сообщения о загрузке драйверов для соответствующего оборудования. Уровень детализации сообщений регулируется параметрами загрузчика.

После загрузки ОС

Даже после того как ОС полностью загрузилась, ядро может писать в лог дополнительные диагностические сообщения например, когда появляются ошибки ввода-вывода, или при подключении USB устройств. dmesg предоставляет механизм для рассмотрения этих сообщений постфактум.

Представление информации

Все сообщения dmesg занимают несколько страниц, поэтому есть смысл использовать стандартные утилиты для работы с текстом, такие как more, tail, less или grep. Сообщения dmesg часто попадают в системный журнал через демон журналирования, такой как syslog. В Linux системах этот лог обычно находится в /var/log.

Лого

Некоторые коммерческие ОС при загрузке ядра показывают лого, из-за которого пользователю не видно сообщений от ядра. Однако, в некоторых системах в этот момент можно переключиться с лого на сообщения dmesg с помощью кнопки 'Esc'. Это бывает полезно при диагностике в случае ошибки загрузки системы.

Некоторые аргументы (опции) утилиты dmesg

--decode, преобразует числовое значение уровней загрузки и параметры операции в понятные текстовые примечания

Фильтрация сообщений в соответствии с опциями --facility и --level. Например:

dmesg --level=err,warn

dmesg --facility=daemon,user

dmesg --facility=daemon --level=debug

-u, --userspace для вывода сообщений пользовательского уровня

-k, --kernel для вывода сообщений уровня ядра

-t, --notime для удаления из вывода временных отметок

-T, --ctime для вывода времени в формате, подобном ctime(). Однако этот ключ бесполезен после использования ждущего режима и выхода из него. (Для printk() после окончания ждущего режима ядро не использует обычное системное время и поэтому временные значения не изменяются.)

--show-delta для вывода длительности промежутка между сообщениями[1]

-c - Очистить содержимое буфера сообщений ядра после вывода.

-s [размер буфера] - Использовать для буфера сообщений ядра, буфер размером [размер буфера]. По умолчанию его размер 16392 байт.

-n [уровень] - Установить уровень, на котором сообщения системного журнала будут выводиться на консоль.

Например, -n 1 предотвращает вывод на консоль всех сообщений, за исключением явно тревожных.

-w, --follow - Ожидание новых сообщений. (наподобие tailf/tail -f)

См. также

  • lspci, информация о PCI шинах и устройствах на ней
  • lsusb, информация о USB портах и устройствах
  • uname печатает имя, версию и прочую информацию о машине и ОС
  • Программы UNIX-подобных операционных систем

Примечания

  1. Karel Zak. dmesg(1) changes for util-linux 2.20 (Wednesday, July 20, 2011).

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.