accueil > Gestion des paquets et du système > dmesg

dmesg : Vérifier les messages du tampon circulaire du noyau

Commande pour vérifier les messages (tampon circulaire du noyau) émis par le noyau lors du démarrage du système. C'est un outil essentiel pour la détection de matériel, le chargement de pilotes et le diagnostic d'erreurs système.

Qu'est-ce que dmesg ?

dmesg est l'abréviation de 'display message' ou 'driver message' et affiche les messages stockés dans le tampon circulaire (Ring Buffer) du noyau Linux. Il montre chronologiquement comment le matériel a été reconnu, comment les pilotes ont été chargés, ou quelles erreurs se sont produites depuis le démarrage du système jusqu'à présent.

Fonctionnalités et utilisations clés

dmesg est utilisé pour diagnostiquer ce qui se passe au niveau le plus bas du système (le noyau).

  • Vérification des messages de démarrage: Affiche tous les messages du noyau émis au démarrage du système.
  • Diagnostic matériel: Vérifie les journaux lorsque de nouveau matériel (USB, disque, etc.) est connecté ou retiré.
  • Erreurs de pilote: Traque les causes des échecs de chargement de pilote ou des erreurs de niveau noyau (Kernel Panic).
  • Tampon circulaire: La taille du tampon étant fixe, les anciens journaux sont écrasés par les nouveaux.

Options principales (Shell)

dmesg est souvent utilisé en combinaison avec d'autres commandes (grep, less) via un pipe (|), mais il possède également ses propres options utiles.

1. Format de sortie et heure

2. Filtrage et surveillance en temps réel

3. Contrôle du tampon/console (Attention requise)

Commande générée :

Essayez de combiner les commandes.

Description:

`dmesg` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples de scénarios d'utilisation (Shell)

dmesg est souvent utilisé avec grep pour filtrer uniquement les informations souhaitées.

Afficher tous les messages (pagination)

dmesg | less

Utilisation la plus basique. Faites défiler facilement avec less.

Vérifier les nouveaux messages en temps réel (lisible)

dmesg -wH

Combine -w (temps réel) et -H (heure lisible par l'homme).

Filtrer uniquement les messages liés à l'USB

dmesg | grep -i usb

L'option -i de grep ignore la casse.

Filtrer les messages liés aux disques (SATA/NVMe)

dmesg | grep -iE 'sd[a-z]|nvme'

Recherche les journaux contenant 'sd[a-z]' ou 'nvme' avec grep -E (expressions régulières étendues).

Filtrer uniquement les erreurs (Error) ou avertissements (Warn)

dmesg -H -l err,warn

Spécifie les niveaux de journal avec l'option -l.

Afficher uniquement les 10 dernières lignes de messages

dmesg | tail -n 10

Combine avec tail pour vérifier rapidement les messages récents.

Afficher avec les tags facility/level

dmesg -xT | less

L'option -x décode les tags facility/level pour faciliter la compréhension.

Enregistrer les journaux dans un fichier

dmesg -T > ~/dmesg-$(date +%F-%H%M).log

Conserve l'intégralité du dmesg juste après le démarrage.

Installation

dmesg est inclus dans le paquet util-linux et est fourni par défaut dans la plupart des distributions Linux.

Installé par défaut

Aucune installation séparée n'est requise. S'il est absent, installez le paquet 'util-linux' de votre distribution.

Astuces & Précautions

dmesg vs journalctl

  • Environnement systemd: Sur les systèmes systemd récents, il est possible de consulter les journaux système de manière unifiée, au-delà du niveau de dmesg, en utilisant 'journalctl -k' (journaux du noyau) ou 'journalctl -b' (journaux de ce démarrage).
  • Format de l'heure: L'heure par défaut de la sortie dmesg est [temps écoulé depuis le démarrage (secondes)]. Pour voir l'heure réelle, utilisez les options '-H' ou '-T'.
  • Écrasement du tampon: En raison de la nature du tampon circulaire, les anciens messages peuvent disparaître. Si vous avez besoin de conserver les journaux de démarrage initial, vérifiez avec 'journalctl -b 0' ou enregistrez la sortie de dmesg dans un fichier.
  • Permissions/Sécurité: Certaines distributions limitent l'accès de l'utilisateur normal à dmesg via '/proc/sys/kernel/dmesg_restrict=1'. Dans ce cas, utilisez 'sudo dmesg' ou 'sudo journalctl -k'.
  • Effacer les journaux (-c, -C): 'dmesg -c' et '-C' sont utiles pour le débogage, mais une fois effacés, les journaux ne peuvent pas être récupérés. Utilisez-les avec prudence dans un environnement de production.

commandes associées

Des commandes fonctionnellement similaires ou souvent utilisées ensemble.



Commandes de la même catégorie