dmesg是Linux内核日志工具,用于诊断系统崩溃。通过获取日志并搜索error等关键词,检查硬件错误、驱动问题、内核参数或软件异常,结合在线搜索与其他诊断工具,可高效定位崩溃原因,帮助系统管理员快速排查故障。
如何用dmesg日志排查系统崩溃原因
时间:2026-06-26
浏览:353
文章目录
利用dmesg日志排查系统崩溃的八个步骤
dmesg(display message 或 driver message)是 Linux 系统中一个老牌又实用的工具,专门用来展示内核启动信息和运行时状态。系统一旦出现崩溃、死机或者莫名其妙卡住的情况,dmesg 日志里往往藏着关键的线索。那么,具体该怎么用它来一步步定位问题?下面这八步,基本覆盖了大多数常见场景。

先拿到日志
在终端里敲下
dmesg,当前的内核环形缓冲区内容就会一股脑儿输出到屏幕。如果内容太多,想慢慢看,可以重定向到文件里:dmesg > dmesg.log这样就能用编辑器或 less 仔细翻看了。
快速定位错误关键词
日志里信息量很大,别逐行硬读。直接搜索
error、fail、panic、crash这类字眼——它们通常是出问题的信号。找到对应条目后,仔细读一下上下文,错误类型和具体模块基本就清楚了。看看是不是硬件捣的鬼
如果日志里出现内存、CPU、硬盘等硬件相关的报错,比如
EDAC错误、I/O error、pcieport AER之类的,那多半是硬件出了问题。这种情况下,重点排查对应部件,比如换根内存条、检查硬盘健康状态。驱动有没有“闹脾气”
驱动程序不兼容或者有 bug,也会导致系统挂掉。日志中如果出现
module、driver、firmware之类的关键词,并且跟着一串错误栈,可以尝试更新驱动,或者回滚到之前稳定工作的版本。内核参数对不对
有些崩溃是内核参数设置不当引起的,比如内存分配参数、调度策略等。日志里如果有类似
kernel parameter或sysctl相关的警告,就需要检查/etc/sysctl.conf或启动参数,适当调整。软件层面也别忽略
有时崩溃并非内核本身的锅,而是某个应用程序或服务触发了内核异常。日志里可能会有进程名、PID、调用栈等信息。先试着重启对应服务,如果频繁出现,干脆卸载或替换掉那个有问题的软件。
遇到陌生错误?网上搜一搜
见过太多案例,自己啃半天没结果,结果把关键报错信息复制到搜索引擎里,马上就有其他人踩过的坑和解决方案。别小看这一步,社区的力量很大。
配合其他诊断工具,事半功倍
dmesg给出的线索往往需要其他工具来验证。比如怀疑内存,就用memtest86+跑几轮;怀疑硬盘,用smartctl查看 S.M.A.R.T. 数据。多种工具交叉印证,问题定位会更准。
排查系统崩溃确实需要一点经验和耐心。不过只要掌握了 dmesg 这套思路,大多数问题都能找到方向。如果实在搞不定,也别硬扛——请懂行的朋友或专业人士介入,往往能省下大量时间。
实用工具推荐
绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
选择画质和输出格式,预览压缩前后的大小。