最可靠方式是查日志中“Previous shutdown cause”字段,其值(如5、-128)为内核崩溃结论性证据;未触发关机的卡死需搜kernel进程的panic/fault/error;可按时间范围筛选上下文并导出文本分析。
直接用终端查内核崩溃记录,最可靠的方式是搜索系统日志数据库里明确标记关机原因的条目——因为 macos 每次 kernel panic 或保护性关机后,都会在日志中写入 previous shutdown cause 字段,它的值(比如 5、-128、128)就是结论性证据。
查所有带关机原因的日志条目
这条命令能列出最近全部关机诱因,覆盖 Kernel Panic、高温断电、电源异常等真实崩溃场景:
- log show --predicate 'eventMessage contains "Previous shutdown cause"' --last 7d —— 查最近 7 天
- 把 7d 换成 30d 或 1h 可调整时间范围
- 输出中每条都含时间戳、设备名和具体的 shutdown cause 值,无需人工翻找
补查未写入 shutdown cause 的内核异常
有些崩溃没触发完整关机流程(比如卡死但未重启),就不会生成 Previous shutdown cause。这时要扫原始内核错误:
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
- log show --predicate 'process == "kernel" AND (eventMessage contains "panic" OR eventMessage contains "fault" OR level == "error")' --last 24h
- 重点看 panic、watchdog timeout、page fault 这类关键词
- 若发现 wdog reset_in_1 timeout,说明是看门狗强制复位,属于典型内核级卡死
快速定位某次重启前的上下文
如果你记得大概出问题的时间点,可以拉取前后几分钟的完整内核流,观察崩溃前的征兆:
- log show --start "2026-05-05 14:20:00" --end "2026-05-05 14:30:00" --predicate 'process == "kernel"' --info --debug
- 把时间替换成你怀疑的时段,注意格式必须是 YYYY-MM-DD HH:MM:SS
- 加 --info --debug 才能显示完整级别日志,包括被图形界面过滤掉的调试信息
导出结果方便分析或提交支持
命令结果默认刷屏显示,如需保存为文本文件供后续查看或发给技术人员:
- 在命令末尾加 > ~/Desktop/kernel_crash_log.txt
- 例如:log show --predicate 'eventMessage contains "Previous shutdown cause"' --last 7d > ~/Desktop/shutdown_causes.txt
- 生成的文件会出现在桌面,用文本编辑器打开即可全文搜索或复制关键字段

















