Jaka jest różnica wyników dmesg i / var / log / messages?


55

AFAIK dmesgwyświetla informacje o jądrze i modułach jądra, a /var/log/messagestakże informacje wytwarzane przez jądro i moduły.

Jaka jest różnica? Czy /var/log/messages wyjście dmesg?

Więcej informacji, które mogą być pomocne:
- Istnieje bufor pierścieniowy jądra , który moim zdaniem jest jedynym i jedynym miejscem do przechowywania danych dziennika jądra.
- Artykuł „ Rejestrowanie jądra: interfejsy API i implementacja ” na IBM DeveloperWorks opisuje interfejsy API i obraz z lotu ptaka.

Odpowiedzi:


51

dmesgdrukuje zawartość bufora pierścieniowego. Informacje te są również wysyłane w czasie rzeczywistym do syslogdlub klogd, gdy są uruchomione, i kończą się w /var/log/messages; kiedy dmesgjest najbardziej przydatny, to przechwytywanie komunikatów o czasie uruchamiania sprzed syslogdi / lub klogduruchomienia, aby były one poprawnie zarejestrowane.


4
Więc /var/log/messagesi dmesgpokaże te same logi (w innym formacie) po syslogdi / lub klogduruchomionym?
xanpeng,

10
Po klogduruchomieniu dmesgpokaże tylko najnowsze komunikaty jądra (ponieważ bufor pierścieniowy ma ustalony rozmiar, a więc może pomieścić tylko tyle), bez znaczników czasu i innych informacji, a jednocześnie /var/log/messageszachowa dzienniki zgodnie ze sposobem logrotateskonfigurowania i uwzględni znaczniki czasu (które będzie nieco niedokładny dla początkowych komunikatów rozruchowych, ponieważ dmesgich nie ma, więc czas klogduruchomienia jest wykorzystywany dla wszystkich komunikatów odczytanych z bufora jądra).
geekozaur

6
@xanpeng dmesgzawiera tylko wiadomości z jądra, /var/log/messageszwykle zawiera również dzienniki z aplikacji.
Gilles 'SO - przestań być zły'

14

To zależy od systemu operacyjnego. Na przykład w systemie Solaris dmesg jest po prostu skryptem powłoki pokazującym ostatnie 200 wierszy /var/adm/messages.*plików.


1
Czy to też jest kolorowe?
Cześć Angel

@ Hi-Angel Brak przetwarzania końcowego pliku dziennika, więc brak kolorowania, po prostu cat ... | tail -200.
jlliagre

6
  • Można powiedzieć, że dmesgjest to podzbiór /var/log/messagesbufora pierścieniowego i jest on utrzymywany.
  • /var/log/messagesobejmuje wszystkie komunikaty systemowe, w tym od uruchomienia systemu wraz z komunikatami w dmesg. W skrócie, logi z dmesgsą zrzucane /var/log/messages.
  • /var/log/messagesutrzymuje ogólne dzienniki aktywności systemu i dmesgutrzymuje tylko dzienniki jądra.

2

dmesg : dmesg jest komunikatem (na wyświetlaczu lub sterowniku). Służy do sprawdzania lub kontrolowania bufora pierścieniowego jądra.

messages : Zawiera globalne komunikaty systemowe, w tym komunikaty, które są rejestrowane podczas uruchamiania systemu. Jest zalogowanych kilka rzeczy, w /var/log/messagestym poczta, cron, demon, kern, auth itp.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.