Quelle est la différence entre la sortie dmesg et / var / log / messages?

55

AFAIK dmesgaffiche des informations sur le noyau et les modules du noyau, ainsi /var/log/messagesque les informations produites par le noyau et les modules.

Alors quelle est la différence? Est-ce que /var/log/messages produit dmesg?

Plus d'informations qui peuvent être utiles:
- Il existe un tampon en anneau du noyau , qui est, à mon avis, le seul et unique endroit pour stocker les données de journal du noyau.
- Article " Journalisation du noyau: API et implémentation " sur les API décrites par IBM DeveloperWorks et la vue en perspective.

Xanpeng
la source

Réponses:

51

dmesgimprime le contenu de la mémoire tampon circulaire. Ces informations sont également envoyées en temps réel à syslogdou klogd, lorsqu'elles sont en cours d'exécution, et aboutissent dans /var/log/messages; quand dmesgest le plus utile est de capturer les messages de démarrage antérieurs syslogdet / ou klogddémarrés, afin qu'ils soient correctement consignés.

geekosaur
la source
4
Alors /var/log/messageset dmesgva montrer les mêmes journaux (dans un format différent) après syslogdet / ou klogdcommencé?
xanpeng
10
After klogdest en cours d’exécution, dmesgaffiche uniquement les messages du noyau les plus récents (car la mémoire tampon circulaire a une taille fixe et ne peut donc en contenir que beaucoup), sans horodatage ni autre information, tout /var/log/messagesen conservant les journaux en fonction de la logrotateconfiguration et en incluant le timestamping (qui sera légèrement inexact pour les messages de démarrage initiaux, car ils dmesgne les ont pas, de sorte que l'heure de klogddémarrage est utilisée pour tous les messages lus dans la mémoire tampon du noyau).
geekosaur
6
@xanpeng dmesgne contient que des messages du noyau, mais /var/log/messagescontient également les journaux des applications.
Gilles 'SO- arrête d'être méchant'
14

Cela dépend du système d'exploitation. Par exemple, sous Solaris, dmesg est simplement un script shell indiquant les 200 dernières lignes des /var/adm/messages.*fichiers.

jlliagre
la source
1
Est-ce coloré aussi?
Bonjour Angel
@ Hi-Angel Pas de post-traitement du fichier journal donc pas de coloration, juste cat ... | tail -200.
Juillet
6
  • Nous pouvons dire que dmesgc'est le sous-ensemble de /var/log/messageset qu'il est maintenu dans le tampon circulaire.
  • /var/log/messagesinclut tous les messages du système, y compris depuis le démarrage du système, avec les messages de dmesg. En un mot, les journaux de dmesgsont vidés /var/log/messages.
  • /var/log/messagesmaintenir les journaux d'activité du système en général et dmesgne conserve que les journaux du noyau.
Bhagyesh Dudhediya
la source
2

dmesg : dmesg est un message (d'affichage ou de pilote). Il est utilisé pour examiner ou contrôler le tampon circulaire du noyau.

messages : Il contient des messages système globaux, y compris les messages enregistrés lors du démarrage du système. Plusieurs éléments sont connectés, /var/log/messagesnotamment mail, cron, démon, kern, auth, etc.

Mughil
la source