Объясните вывод dmesg

Я использую систему Debian и считаю вывод команды dmesg очень полезным.

Может кто-нибудь объяснить мне, какая информация выводится командой dmesg? Это соотношение 1:1 к сообщениям kern.* В системном журнале?

4 ответа

Решение

Технически говоря, dmesg выводит кольцевой буфер ядра на стандартный вывод.

Я не знаю, почему они называют это кольцевым буфером, но это в основном буфер журнала. Все загрузочные сообщения ядра пишутся там. Если вы используете syslog, то, вероятно, все или большинство этих сообщений также будут записаны туда. Однако команда dmesg отделена от системного журнала. Он является частью утилит linux, и вы можете использовать его, даже если у вас нет системного журнала.

dmesg также может использоваться для очистки самого кольцевого буфера, а также для изменения уровня, на котором ошибки отображаются в консоли. Иногда, в зависимости от серьезности сообщения, оно будет отправлено на каждую консоль в дополнение к кольцевому буферу. Хорошим примером этого является сообщение о завершении работы. dmesg -n levelnumber позволяет изменить уровень серьезности, которое должно быть отправлено сообщению на консоли в дополнение к буферу.

Цитирование справочной страницы:

   dmesg is used to examine or control the kernel ring buffer.

Многие из этих сообщений также попадают в системный журнал, но не все. Кроме того, системный журнал недоступен до конца (r) в процессе загрузки.

Как уже было сказано, dmesg позволяет вам сбросить кольцевой буфер ядра или управлять им. Обычно вы получаете загрузочные сообщения, но сервер, который некоторое время работал и имел болтливые сообщения ядра, скорее всего, перезаписал загрузочные сообщения. Большинство дистрибутивов запускают dmesg в сценарии запуска, чтобы выгрузить загрузочные сообщения в файл журнала - обычно /var/log/dmesg.

Кольцевой буфер ядра имеет тенденцию вступать в свои права, когда вы наблюдаете панику ядра и аварийный дамп. One of the first things you're likely to look at is the contents of the ring buffer, which will hopefully give you a pointer as tho what went wrong. When you hit a panic, the kernel will most likely not get a chance to pass these message to syslog, so the crash dump will be the only place you'll be able to see them.

Dmesg печатает или контролирует кольцевой буфер ядра. Программа помогает пользователям распечатать свои загрузочные сообщения.

Другие вопросы по тегам