在 Debian 系统中,dmesg 用于查看**内核环形缓冲区(kernel ring buffer)**的日志,包含硬件检测、驱动加载、内核错误、设备异常等信息。分析 dmesg 报错,可以按下面这套思路来。
dmesg
dmesg -w
dmesg --level=err,warn
dmesg -T
(-T 显示人类可读时间)
dmesg -T | tail -n 50
典型关键字:
errorfailedtimeoutresetunknown device示例:
usb 1-1: device descriptor read/64, error -110
含义:USB 设备读取失败,可能是线、接口或电源问题。
典型关键字:
EXT4-fs errorI/O errorread-only filesystem示例:
EXT4-fs error (device sda1): ext4_find_entry: corruption
含义:磁盘或文件系统损坏,建议 fsck。
典型关键字:
Out of memorypage allocation failureBUG: unable to handle page fault说明:
典型关键字:
eth0: link downNETDEV WATCHDOGfailed to bring up典型关键字:
module verification failedUnknown symboldisagrees about version说明:
dmesg --level=err,warn -T
先忽略 info / debug。
结合系统出问题的时间点:
dmesg -T | grep -i error
dmesg -T | grep -i -C 10 "usb"
journalctl -k # 内核日志
journalctl -xe # 系统日志
| 问题类型 | 处理建议 |
|---|---|
| USB 报错 | 换线 / 接口 / 供电 |
| 磁盘 I/O | smartctl -a /dev/sda |
| 文件系统 | 单用户下 fsck |
| 驱动失败 | 更新内核或驱动 |
| OOM | 查占用:htop, free -h |
如果你愿意,可以贴出:
dmesg -T | tail -n 50cat /etc/debian_version)uname -a)我可以直接帮你逐行解读并给解决方案。