在 Debian 系统中,dmesg 用于查看内核环形缓冲区(kernel ring buffer)的日志,常用于排查硬件、驱动、启动、USB、磁盘、网络等问题。下面从基本查看、过滤错误、持久化日志、常见错误类型几个方面说明如何“搜索 Debian 的 dmesg 错误”。
dmesg
如果提示权限不足:
sudo dmesg
以人类可读时间显示:
dmesg -T
dmesg | grep -i error
dmesg | grep -i fail
dmesg | grep -i warn
组合搜索:
dmesg | grep -iE "error|fail|warn"
带时间:
dmesg -T | grep -i error
Linux 内核有日志级别,dmesg 可直接过滤:
dmesg --level=err
dmesg --level=warn
dmesg --level=err,warn
查看所有级别:
dmesg --level= emerg,alert,crit,err,warn,notice,info,debug
USB 问题:
dmesg | grep -i usb
磁盘 / RAID:
dmesg | grep -iE "sda|nvme|ata|raid"
网络:
dmesg | grep -iE "eth|enp|network|firmware"
默认 dmesg 是内存日志,重启后丢失。
journalctl -k # 内核日志(等同 dmesg)
journalctl -k -p err # 内核错误
journalctl -k -p warning
按时间:
journalctl -k --since "2024-01-01"
sudo dmesg -T > dmesg.log
开机自动保存(示例):
sudo nano /etc/rc.local
dmesg -T > /var/log/dmesg.boot
| 错误信息 | 可能原因 |
|---|---|
CPU: possible thermal THERMAL EVENT |
过热 |
usb 1-1: device descriptor read/64, error |
USB 设备/线问题 |
nvme nvme0: I/O timeout |
SSD / 驱动问题 |
eth0: link down |
网线 / 驱动 |
firmware: failed to load |
缺失固件 |
Out of memory |
内存不足 |
sudo dmesg -T --level=err,warn
journalctl -k -p err -b
查看本次启动的错误:
journalctl -k -b -p err
如果你愿意,可以:
dmesg | grep -i error 输出我可以帮你精确分析。