Mac卡顿时应通过控制台App筛选error级日志或终端执行log show命令检索error/fault/panic三类关键记录,并从“报告”中查看panic/shutdown诊断文件及shutdown cause代码定位根因。

当Mac出现卡顿、应用无响应或突然重启却没提示具体错误时,系统早已在后台记下所有异常行为——这些报错线索分散在统一日志数据库、诊断报告和内核流中,必须用对路径才能一次性抓取真正导致故障的错误条目。
用控制台App秒筛全部error级日志
这一步操作起来很简单,直接把日志级别作为过滤核心,就能避开调试信息和普通通知的干扰。
按下Command + Space 打开聚焦搜索,输入“控制台”并回车启动应用。
在左侧“设备”列表中确认已选中本机名称;若边栏未显示,请点按窗口左上角的“边栏”按钮启用。
点击顶部搜索栏,输入【level: error】并按回车,所有标记为 error 级别的日志将立即高亮列出。
此时滚动查看,红色高亮条目即为系统级错误,黄色条目多为服务或应用级错误;注意不要误点“警告(warning)”或“调试(debug)”类条目,它们不属于错误范畴。
终端命令直取error/fault/panic三类关键日志
图形界面可能漏掉部分未实时同步的日志,终端可直连 Unified Logging 数据库,确保不遗漏任何一条结构化错误记录。
方法一:基础三合一检索
打开“终端”(应用程序 → 实用工具),执行:log show --predicate 'eventMessage contains "error" OR eventMessage contains "fault" OR eventMessage contains "panic"' --last 24h
方法二:限定内核与系统服务范围
避免第三方App日志干扰,只查系统核心模块:log show --predicate '(process == "kernel" OR subsystem contains "com.apple.kernel" OR subsystem contains "com.apple.xpc.launchd") AND (eventMessage contains "error" OR eventMessage contains "fault")' --last boot
方法三:导出为桌面文件供离线分析
执行命令后,日志会直接保存到桌面,文件名为 errors_full.txt:log show --predicate 'level >= error' --last 7d > ~/Desktop/errors_full.txt
【注意:--last 7d 表示最近7天,不可写成 --last 7days,否则命令会失败】
从“报告”中定位panic/shutdown原始诊断文件
这类文件是系统在崩溃或强制关机后自动生成的结构化快照,包含堆栈、内存状态和最关键的 shutdown cause 代码,比纯文本日志更权威。
第一步:打开“控制台”,左侧边栏点击“报告”。
第二步:右侧列表中找文件名含panic、kernel、shutdown或reboot字样的条目,扩展名多为.panic或.diag。
第三步:双击最新一条,右侧展开全文,拉到底部找到【Previous shutdown cause】字段值(例如3、5或128)。
第四步:对照含义快速判断——3代表内核不可恢复错误,5代表温度过高保护性关机,128代表电源适配器异常断开。

















