dmesg 是排查 Linux 系统崩溃(kernel panic、OOM、硬件错误、驱动异常等)的重要工具。下面按实用流程说明怎么用。
系统崩溃前后,内核会通过 dmesg 打印关键信息,例如:
如果系统重启后还能进系统:
dmesg
dmesg | less
dmesg --level=err,warn
或
dmesg | grep -iE "error|panic|oom|fault|deadlock"
dmesg | tail -n 200
dmesg -T
示例:
Kernel panic - not syncing: Fatal exception
或
BUG: unable to handle page fault
→ 通常是:
Out of memory: Kill process 1234 (java)
→ 内存不足,系统杀进程 排查:
dmesg | grep -i oom
mce: [Hardware Error]: CPU 2
或
EDAC MC0: UE error
→ CPU / 内存故障
EXT4-fs error (device sda1)
→ 磁盘或文件系统损坏
journalctl -k -b -1
(-1 表示上一次启动)
dmesg > /var/log/dmesg.txt
或使用 rsyslog / systemd 自动保存。
kernel.printk 详细日志kdump 抓 core dump(最专业)dmesg -T > /var/log/dmesg_$(date +%F).log
系统崩了先看
dmesg -T | tail,找 panic / oom / hardware error,再结合 journalctl 和 kdump 深入分析。
如果你有具体的 dmesg 报错内容,可以直接贴出来,我可以帮你逐行分析。