Qual è la differenza tra output di dmesg e / var / log / messages?


55

AFAIK dmesgmostra informazioni su kernel e moduli del kernel e /var/log/messagesmostra anche informazioni prodotte da kernel e moduli.

Quindi qual è la differenza? Fa /var/log/messages uscita dmesg?

Ulteriori informazioni che possono essere utili:
- Esiste un buffer dell'anello del kernel , che penso sia il solo ed unico posto in cui archiviare i dati di registro del kernel.
- L'articolo " Registrazione del kernel: API e implementazione " su IBM DeveloperWorks ha descritto le API e l'immagine di bird-view.

Risposte:


51

dmesgstampa il contenuto del ring buffer. Queste informazioni vengono anche inviate in tempo reale a syslogdo klogd, quando sono in esecuzione, e finiscono in /var/log/messages; quando dmesgè più utile è catturare i messaggi all'avvio da prima syslogde / o klogdavviati, in modo che vengano registrati correttamente.


4
Quindi /var/log/messagese dmesgmostrerà gli stessi registri (in formato diverso) dopo syslogde / o klogdavviato?
Xanpeng,

10
Dopo l' klogdesecuzione, dmesgmostrerà solo i messaggi del kernel più recenti (perché il buffer dell'anello ha una dimensione fissa e quindi può contenere solo così tanto), senza timestamp o altre informazioni, mentre /var/log/messagesmanterrà i log in base alla logrotateconfigurazione e includerà timestamp (che sarà leggermente impreciso per i messaggi di avvio iniziali perché dmesgnon li hanno, quindi il tempo klogdavviato viene usato per tutti i messaggi letti dal buffer del kernel).
Geekosaur,

6
@xanpeng dmesgcontiene solo messaggi dal kernel, di /var/log/messagessolito contiene anche i log delle applicazioni.
Gilles 'SO- smetti di essere malvagio' il

14

Dipende dal sistema operativo. Ad esempio su Solaris, dmesg è semplicemente uno script di shell che mostra le ultime 200 righe dei /var/adm/messages.*file.


1
È anche colorato?
Ciao Angelo

@ Hi-Angel Nessuna post-elaborazione del file di registro, quindi nessuna colorazione, giusto cat ... | tail -200.
jlliagre,

6
  • Possiamo dire che dmesgè il sottoinsieme di /var/log/messagesed è gestito nel ring buffer.
  • /var/log/messagesinclude tutti i messaggi di sistema incluso l'avvio del sistema insieme ai messaggi in dmesg. In breve, i log dmesgvengono scaricati /var/log/messages.
  • /var/log/messagesmantiene i log delle attività generali del sistema e dmesgmantiene solo i log del kernel.

2

dmesg : dmesg è un messaggio (display o driver). Viene utilizzato per esaminare o controllare il buffer dell'anello del kernel.

messaggi : contiene messaggi di sistema globali, inclusi i messaggi registrati durante l'avvio del sistema. Esistono diverse cose che hanno effettuato l'accesso tra /var/log/messagescui mail, cron, demone, kern, auth, ecc.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.