Zum Inhalt springen

Kernel-Log

Der Linux-Kernel schreibt seine Meldungen in einen Ringpuffer im Arbeitsspeicher — den Kernel Ring Buffer. Wenn er voll ist, werden ältere Einträge überschrieben. dmesg liest diesen Puffer aus.

Terminal-Fenster
dmesg # alle Kernel-Meldungen ausgeben
dmesg | less # seitenweise lesen
dmesg -T # mit lesbaren Zeitstempeln (statt Sekunden seit Boot)
dmesg -H # "human readable": Farben + Zeitstempel + less
sudo dmesg -w # Echtzeit (wie tail -f, benötigt root)
Terminal-Fenster
dmesg | grep -i error
dmesg | grep -i usb # USB-Ereignisse
dmesg | grep -i eth # Netzwerk-Erkennung
dmesg | grep -i firmware # Firmware-Fehler
dmesg | tail -30 # letzte 30 Meldungen
Terminal-Fenster
dmesg -l err # nur Fehler
dmesg -l warn,err # Warnungen und Fehler
dmesg -l err -T # Fehler mit lesbaren Zeitstempeln

Verfügbare Level: emerg, alert, crit, err, warn, notice, info, debug

Terminal-Fenster
dmesg -f kern # nur Kernel-Meldungen
dmesg -f daemon # Daemon-Meldungen
dmesg -f user # Benutzer-Meldungen
Terminal-Fenster
# USB-Gerät einstecken, dann:
sudo dmesg -w # live beobachten
# oder:
dmesg | tail -20
Terminal-Fenster
dmesg -T | head -100 # frühe Boot-Meldungen
dmesg | grep -i "error\|fail\|warn" -i
Terminal-Fenster
dmesg | grep -i "ata\|sda\|nvme\|i/o error"
# Beispiel für einen Festplatten-Fehler:
# [12345.678] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
# [12345.679] ata1.00: failed command: READ DMA
Terminal-Fenster
dmesg | grep -i "oom\|killed process"
# Wenn zu wenig RAM: Kernel beendet Prozesse automatisch

Für fortgeschrittene Anwendungsfälle (z. B. eigene Log-Daemons):

Terminal-Fenster
sudo cat /proc/kmsg # Kernel-Log-Stream (blockiert, live)
sudo cat /dev/kmsg # alternative Schnittstelle mit Sequenznummern

Diese Schnittstellen werden intern von dmesg, journald und syslogd verwendet.