В чем разница между выводом dmesg и /var/log/messages?

В чем разница между выводом dmesg и /var/log/messages?

Насколько мне известно, dmesgпоказывает информацию о ядре и модулях ядра, а /var/log/messagesтакже показывает информацию, создаваемую ядром и модулями.

Так в чем же разница?/var/log/messages выход dmesg?

Дополнительная информация, которая может быть полезна:
- Естьбуфер кольца ядра, который, я думаю, является единственным местом для хранения данных журнала ядра.
- Статья "Ведение журнала ядра: API и реализация" на IBM DeveloperWorks описал API и картинку с высоты птичьего полета.

решение1

dmesgпечатает содержимое кольцевого буфера. Эта информация также отправляется в режиме реального времени в syslogdили klogd, когда они запущены, и попадает в /var/log/messages; когда dmesgнаиболее полезно захватывать сообщения о загрузке до syslogdи/или klogdпри запуске, чтобы они были правильно зарегистрированы.

решение2

Это зависит от операционной системы. Например, в Solaris,dmesgэто просто скрипт оболочки, показывающий последние 200 строк файлов /var/adm/messages.*.

решение3

  • Можно сказать, что dmesgэто подмножество /var/log/messagesи оно хранится в кольцевом буфере.
  • /var/log/messagesвключает в себя все системные сообщения, включая сообщения от запуска системы вместе с сообщениями в dmesg. В двух словах логи из dmesgсбрасываются в /var/log/messages.
  • /var/log/messagesвести общие журналы активности системы и dmesgвести только журналы ядра.

решение4

dmesg: dmesg — это сообщение (дисплея или драйвера). Оно используется для проверки или управления кольцевым буфером ядра.

Сообщения: Он содержит глобальные системные сообщения, включая сообщения, которые регистрируются во время запуска системы. Есть несколько вещей, которые регистрируются, /var/log/messagesвключая почту, cron, daemon, kern, auth и т. д.

Связанный контент