Android

Commande Dmesg sous Linux

Linux - 06 - mount et umount

Linux - 06 - mount et umount

Table des matières:

Anonim

Le noyau Linux est le cœur du système d'exploitation qui contrôle l'accès aux ressources système, telles que le processeur, les périphériques d'E / S, la mémoire physique et les systèmes de fichiers. Le noyau écrit divers messages dans le tampon d'anneau du noyau pendant le processus de démarrage et lorsque le système est en cours d'exécution. Ces messages contiennent diverses informations sur le fonctionnement du système.

Le tampon d'anneau du noyau est une partie de la mémoire physique qui contient les messages de journal du noyau. Il a une taille fixe, ce qui signifie qu'une fois que le tampon est plein, les anciens enregistrements de journaux sont remplacés.

L'utilitaire de ligne de commande dmesg est utilisé pour imprimer et contrôler le tampon en anneau du noyau sous Linux et d'autres systèmes d'exploitation de type Unix. Il est utile pour examiner les messages de démarrage du noyau et déboguer les problèmes liés au matériel.

Dans ce tutoriel, nous couvrirons les bases de la commande dmesg .

Utilisation de la commande dmesg

La syntaxe de la commande dmesg est la suivante:

dmesg

Lorsqu'il est invoqué sans aucune option, dmesg écrit tous les messages du tampon en anneau du noyau dans la sortie standard:

dmesg

Par défaut, tous les utilisateurs peuvent exécuter la commande dmesg . Cependant, sur certains systèmes, l'accès à dmesg peut être restreint pour les utilisateurs non root. Dans cette situation, lorsque vous dmesg vous obtiendrez un message d'erreur comme ci-dessous:

dmesg: read kernel buffer failed: Operation not permitted

Le paramètre du noyau kernel.dmesg_restrict spécifie si les utilisateurs non privilégiés peuvent utiliser dmesg pour afficher les messages du tampon de journal du noyau. Pour supprimer les restrictions, définissez-le sur zéro:

sudo sysctl -w kernel.dmesg_restrict=0

Habituellement, la sortie contient beaucoup de lignes d'informations, donc seule la dernière partie de la sortie est visible. Pour afficher une page à la fois, dirigez la sortie vers un utilitaire de pageur tel que less ou more :

dmesg --color=always | less

Le --color=always est utilisé pour conserver la sortie colorée.

dmesg | grep -i usb

dmesg lit les messages générés par le noyau à partir du fichier virtuel /proc/kmsg . Ce fichier fournit une interface vers le tampon d'anneau du noyau et ne peut être ouvert que par un seul processus. Si le processus syslog est en cours d'exécution sur votre système et que vous essayez de lire le fichier avec cat ou less , la commande se bloque.

Le démon syslog décharge les messages du noyau dans /var/log/dmesg , vous pouvez donc également utiliser ce fichier journal:

cat /var/log/dmesg

Formatage de la sortie dmesg

La commande dmesg fournit un certain nombre d'options qui vous aident à formater et filtrer la sortie.

L'une des options les plus utilisées de dmesg est -H ( --human ), qui permet une sortie lisible par l'homme. Cette option dirige la sortie de la commande dans un pager:

dmesg -H

Pour imprimer des horodatages lisibles par l'homme, utilisez l' -T ( --ctime ):

dmesg -T

IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready

Le format d'horodatage peut également être défini à l'aide du --time-format , qui peut être ctime, reltime, delta, notime ou iso. Par exemple, pour utiliser le format delta, vous devez taper:

dmesg --time-format=delta

Vous pouvez également combiner deux options ou plus:

dmesg -H -T

Pour regarder la sortie de la commande dmesg en temps réel, utilisez l'option -w ( --follow ):

dmesg --follow

Filtrage de la sortie dmesg

Vous pouvez limiter la sortie dmesg à des installations et des niveaux donnés.

L'installation représente le processus qui a créé le message. dmesg prend en charge les fonctions de journalisation suivantes:

  • kern - kernel messages user - user-level messages mail - mail system daemon - system daemons auth - security / autorisation messages syslog - internal syslogd messages lpr - line printer subsystem news - network news subsystem

Le -f ( --facility L'option) vous permet de limiter la sortie à des installations spécifiques. L'option accepte une ou plusieurs installations séparées par des virgules.

Par exemple, pour afficher uniquement les messages du noyau et des démons système, vous utiliseriez:

dmesg -f kern, daemon

Chaque message de journal est associé à un niveau de journal qui montre l'importance du message. dmesg prend en charge les niveaux de journalisation suivants:

  • emerg - Le système est inutilisable alert - Des mesures doivent être prises immédiatement crit - crit - Conditions d' err warn - Avertissement sur les conditions d'avertissement - info condition normale mais significative - debug information - Messages de niveau de débogage

Le -l ( --level L'option) limite la sortie à des niveaux définis. L'option accepte un ou plusieurs niveaux séparés par des virgules.

La commande suivante affiche uniquement les messages d'erreur et critiques:

dmesg -l err, crit

Effacement du tampon en anneau

L'option -C ( --clear ) vous permet d'effacer le tampon en anneau:

sudo dmesg -C

Seuls les utilisateurs root ou root disposant des privilèges sudo peuvent vider le tampon.

Pour imprimer le contenu du tampon avant l'effacement, utilisez l'option -c ( --read-clear ):

sudo dmesg -c

dmesg > dmesg_messages

Conclusion

La commande dmesg vous permet d'afficher et de contrôler le tampon d'anneau du noyau. Il peut être très utile lors du dépannage de problèmes de noyau ou de matériel.

Tapez man dmesg dans votre terminal pour obtenir des informations sur toutes les options de dmesg disponibles.

terminal du noyau dmesg