У чому різниця виводу dmesg та / var / log / messages?


55

AFAIK dmesgпоказує інформацію про модулі ядра та ядра, а /var/log/messagesтакож показує інформацію, що виробляється ядром та модулями.

То яка різниця? Чи /var/log/messages вихід dmesg?

Більше інформації, яка може бути корисною:
- Є буфер кільця ядра , який, на мою думку, є єдиним і єдиним місцем для зберігання даних журналу ядра.
- Стаття " Журнал ядра: API та реалізація " на IBM DeveloperWorks, описані API та зображення із птахом.

Відповіді:


51

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


4
Так /var/log/messagesі чи dmesgбудуть відображатися ті ж журнали (в іншому форматі) після syslogdта / або klogdрозпочаті?
xanpeng

10
Після klogdзапуску dmesgпокаже лише найновіші повідомлення ядра (оскільки буфер дзвінка має фіксований розмір і може містити лише стільки), без часових позначок або іншої інформації, при /var/log/messagesцьому зберігатиме журнали відповідно до того, як logrotateналаштовано, і включатиме часові позначки (які буде трохи неточним для початкових повідомлень завантаження, оскільки dmesgїх немає, тому час, що klogdрозпочався, використовується для всіх повідомлень, прочитаних з буфера ядра).
geekosaur

6
@xanpeng dmesgмістить лише повідомлення з ядра, /var/log/messagesзазвичай також містить журнали програм.
Жил "ТАК - перестань бути злим"

14

Це залежить від операційної системи. Наприклад, на Solaris, dmesg - це просто скрипт оболонки, що показує останні 200 рядків /var/adm/messages.*файлів.


1
Це теж барвисто?
Привіт-Ангел

@ Hi-Angel Немає післяобробки файлу журналу, так що без фарбування, просто cat ... | tail -200.
jlliagre

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

2

dmesg : dmesg - це повідомлення (дисплей або драйвер). Він використовується для вивчення або управління буфером кільця ядра.

повідомлення : Він містить глобальні системні повідомлення, включаючи повідомлення, які реєструються під час запуску системи. Є кілька речей, які входять у систему, /var/log/messagesзокрема пошта, крон, демон, kern, auth тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.