Startseite > Paket- & Systemverwaltung > dmesg

dmesg: Kernel-Ringpuffer-Nachrichten prüfen

Ein Befehl zur Überprüfung der Nachrichten (Kernel-Ringpuffer), die der Kernel beim Systemstart ausgibt. Ein unverzichtbares Werkzeug zur Hardwareerkennung, zum Laden von Treibern und zur Diagnose von Systemfehlern.

Was ist dmesg?

dmesg ist die Abkürzung für 'display message' oder 'driver message' und gibt die im Ringpuffer des Linux-Kernels gespeicherten Nachrichten aus. Es zeigt chronologisch an, wie Hardware erkannt, Treiber geladen oder Fehler aufgetreten sind, vom Systemstart bis zur Gegenwart.

Kernfunktionen und Verwendungszwecke

dmesg wird verwendet, um Vorgänge auf der untersten Ebene des Systems (dem Kernel) zu diagnostizieren.

  • Startmeldungen prüfen: Zeigt alle Kernel-Meldungen an, die beim Systemstart ausgegeben werden.
  • Hardware-Diagnose: Überprüft Protokolle, wenn neue Hardware (USB, Festplatte usw.) angeschlossen oder entfernt wird.
  • Treiberfehler: Verfolgt Ursachen für Treiberladefehler oder Kernel-Level-Fehler (Kernel Panic).
  • Ringpuffer: Die Puffergröße ist festgelegt, alte Protokolle werden durch neue überschrieben.

Wichtige Optionen (Shell)

dmesg wird oft mit anderen Befehlen (grep, less) über eine Pipe (|) verbunden, verfügt aber auch über eigene nützliche Optionen.

1. Ausgabeformat und Zeit

2. Filtern und Echtzeitüberwachung

3. Puffer-/Konsolensteuerung (Vorsicht geboten)

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`dmesg` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele (Shell)

dmesg wird oft zusammen mit grep verwendet, um nur die gewünschten Informationen zu filtern.

Alle Nachrichten anzeigen (Paging)

dmesg | less

Die grundlegendste Verwendung. Bequemes Scrollen mit less.

Neue Nachrichten in Echtzeit prüfen (lesbar)

dmesg -wH

Kombiniert -w (Echtzeit) und -H (lesbare Zeit).

Nur USB-bezogene Nachrichten filtern

dmesg | grep -i usb

Die Option -i von grep ignoriert Groß- und Kleinschreibung.

Nachrichten zu Festplatten (SATA/NVMe) filtern

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

Sucht mit grep -E (erweiterter regulärer Ausdruck) nach Protokollen, die 'sd[a-z]' oder 'nvme' enthalten.

Nur Fehler (Error) oder Warnungen (Warn) filtern

dmesg -H -l err,warn

Gibt die Log-Stufe mit der Option -l an.

Nur die letzten 10 Zeilen von Nachrichten anzeigen

dmesg | tail -n 10

Kombiniert mit tail, um die neuesten Nachrichten schnell zu überprüfen.

Mit Facility/Level-Tags anzeigen

dmesg -xT | less

Die Option -x dekodiert Facility/Level zur besseren Verständlichkeit.

Log in Datei speichern

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

Speichert den gesamten dmesg-Output direkt nach dem Booten.

Installation

dmesg ist im util-linux-Paket enthalten und wird standardmäßig mit den meisten Linux-Distributionen geliefert.

Standardmäßig installiert

Eine separate Installation ist nicht erforderlich. Falls es fehlt, installieren Sie das 'util-linux'-Paket Ihrer Distribution.

Tipps & Hinweise

dmesg vs journalctl

  • systemd-Umgebung: In modernen systemd-Systemen können Sie mit 'journalctl -k' (Kernel-Logs) oder 'journalctl -b' (Logs dieses Boots) System-Logs über das dmesg-Niveau hinaus integriert anzeigen.
  • Zeitformat: Die Zeit im Standard-dmesg-Output ist die [verstrichene Zeit in Sekunden seit dem Booten]. Verwenden Sie die Optionen '-H' oder '-T', um die tatsächliche Zeit anzuzeigen.
  • Pufferüberschreibung: Aufgrund der Ringpuffer-Eigenschaft können alte Nachrichten verloren gehen. Wenn Sie frühe Boot-Logs bewahren müssen, überprüfen Sie diese mit 'journalctl -b 0' oder speichern Sie die dmesg-Ausgabe in einer Datei.
  • Berechtigungen/Sicherheit: Einige Distributionen beschränken den dmesg-Zugriff für normale Benutzer mit '/proc/sys/kernel/dmesg_restrict=1'. Verwenden Sie in diesem Fall 'sudo dmesg' oder 'sudo journalctl -k'.
  • Logs löschen (-c, -C): 'dmesg -c' und '-C' sind nützlich für das Debugging, aber einmal gelöscht, können die Logs nicht wiederhergestellt werden. Seien Sie in Produktionsumgebungen vorsichtig.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.



Gleiche Kategorie Befehle