温馨提示×

如何搜索debian dmesg错误

小樊
39
2026-10-10 10:13:07
栏目: 智能运维

在 Debian 系统中,dmesg 用于查看内核环形缓冲区(kernel ring buffer)的日志,常用于排查硬件、驱动、启动、USB、磁盘、网络等问题。下面从基本查看、过滤错误、持久化日志、常见错误类型几个方面说明如何“搜索 Debian 的 dmesg 错误”。


一、基本查看 dmesg

dmesg

如果提示权限不足:

sudo dmesg

以人类可读时间显示:

dmesg -T

二、搜索 dmesg 中的“错误”

1️⃣ 搜索 error / fail / warn

dmesg | grep -i error
dmesg | grep -i fail
dmesg | grep -i warn

组合搜索:

dmesg | grep -iE "error|fail|warn"

带时间:

dmesg -T | grep -i error

2️⃣ 只查看错误级别(推荐)

Linux 内核有日志级别,dmesg 可直接过滤:

dmesg --level=err
dmesg --level=warn
dmesg --level=err,warn

查看所有级别:

dmesg --level= emerg,alert,crit,err,warn,notice,info,debug

3️⃣ 搜索特定设备(如 USB / 磁盘 / 网卡)

USB 问题:

dmesg | grep -i usb

磁盘 / RAID:

dmesg | grep -iE "sda|nvme|ata|raid"

网络:

dmesg | grep -iE "eth|enp|network|firmware"

三、dmesg 日志不是永久保存?

默认 dmesg 是内存日志,重启后丢失。

✅ 方法 1:使用 journald(推荐 Debian 8+)

journalctl -k          # 内核日志(等同 dmesg)
journalctl -k -p err   # 内核错误
journalctl -k -p warning

按时间:

journalctl -k --since "2024-01-01"

✅ 方法 2:手动保存 dmesg

sudo dmesg -T > dmesg.log

开机自动保存(示例):

sudo nano /etc/rc.local
dmesg -T > /var/log/dmesg.boot

四、常见 dmesg 错误示例

错误信息 可能原因
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 输出
  • 或说明具体现象(如无法识别 USB、开机慢、网络掉线)

我可以帮你精确分析。

0 踩