尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

凌晨三点的 Mac 自动重启:我是如何用命令行揪出“真凶“的

凌晨三点的 Mac 自动重启:我是如何用命令行揪出“真凶“的 早上起来打开 MacBook发现 Dock 上的应用全没了——系统似乎在夜里重启过。打开终端敲了一条命令确认了我的猜测$ lastrebootshutdown|head-5reboot六9503:22shutdown六9503:22reboot二9103:53shutdown二9103:52reboot一83100:16凌晨 3 点 22 分我的 Mac 自己关机又重启了。不是我操作的也不是停电——电池一直插着电源。那到底是谁干的于是有了这篇排查记录。全文按「定位时间 → 查电源日志 → 排除崩溃 → 交叉验证 → 下结论」五步走每一步都附上可直接复制的命令方便你照着排查。第一步先确认发生了什么任何排查的第一步都是先把时间线拉出来。last命令是最快的入口# 查看重启和关机历史lastrebootshutdown|head-20输出非常直观每一行一个事件左边是类型reboot/shutdown右边是时间。怎么读reboot 和 shutdown 时间挨得很近→ 系统重启了正常或异常只有 reboot 没有 shutdown→ 可能是断电或强制重启shutdown 后很久才 reboot→ 主动关机后手动开机从输出看9月5日 03:22 关机紧接着 03:22 重启说明是一次完整的重启过程。问题是为什么第二步深挖电源管理日志macOS 有一个非常强大但很少有人用的工具——pmset。它的-g log参数能吐出一份极其详细的电源管理日志精确到秒级。# 查看完整电源管理日志pmset-glog# 只看特定时间段的日志pmset-glog|grep2026-09-05 03:输出很长但只要盯着几个关键词看很快就能找到线索。我直接跳转到 03:07 左右发现了一连串有意思的记录03:07:37 triggersRestart 03:07:37 SoftwareUpdate.TonightActivityTrigger 03:07:38 RestartCountdownOperation 03:16:33 PrepareUpdate 03:20:53 屏幕短暂亮起显示通知 03:21:23 CountdownNotification 03:22:20 开始关机 03:22:41 系统重新启动链条非常完整系统调度了重启 → 触发了夜间软件更新 → 开始倒计时 → 准备更新包 → 弹出通知 → 执行关机重启。看到这里答案其实已经出来了——就是 macOS 的夜间自动更新。但做排查要讲证据链不能只靠一条线索就下结论。继续验证。第三步排除崩溃的可能如果是系统崩溃导致的重启性质就完全不一样了。所以下一步必须确认这是正常重启还是异常崩溃macOS 把所有诊断报告都存在一个固定目录里# 列出系统诊断报告ls-la/Library/Logs/DiagnosticReports/重点找三类文件文件类型命名特征说明.panicKernel-YYYY-MM-DD-*.panic内核恐慌 → 系统崩溃严重问题.shutdownStallshutdown_stall_*.shutdownStall关机卡顿 → 关机慢但不是崩溃.ipsAppName_*.ips单个应用崩溃检查结果没有 .panic 文件好消息不是系统崩溃但有一个shutdown_stall_2026-09-05-032220文件。什么是 shutdown stall关机过程中某些进程退出较慢导致总关机时间超过了系统预期阈值。系统会生成一份 spindump 报告用于分析但这不是崩溃只是关机慢了点。在自动更新重启时尤其常见——后台跑的进程多自然关得慢。第四步交叉验证锁定真相单看一次事件可能是巧合。我翻了一下历史记录发现了规律日期时间类型共同点8月31日00:16shutdown_stall凌晨 · 自动更新重启9月1日03:53shutdown_stall凌晨 · 自动更新重启9月5日03:22shutdown_stall凌晨 · 自动更新重启三次全部发生在凌晨模式完全一致——都是 macOS 的夜间自动安装系统更新功能在工作。最后再确认一下电池和硬件状态排除电源因素循环计数:295状态: 正常 最大容量:82%电池健康度 82%循环 295 次状态正常。电源方面没有问题。结论虚惊一场最终结论很简单这不是故障是 macOS 在凌晨自动安装了系统更新并重启。关机过程稍微慢了一点生成了 shutdown_stall 报告但完全在正常范围内。如果不想让系统在夜里偷偷重启可以去系统设置 → 通用 → 软件更新 → 自动更新里关掉安装 macOS 更新。不过说实话自动更新也没什么不好——至少说明你的系统在保持最新。工具包以后再遇到怎么办把这次排查用到的命令整理成一张速查表存好下次直接用。 Mac 关机原因排查五步走定位时间点— 用last reboot shutdown找到目标关机/重启时间查看电源日志— 用pmset -g log看关机前后的事件链找 SoftwareUpdate、DarkWake 等关键词排除崩溃— 检查/Library/Logs/DiagnosticReports/有没有 .panic 文件确认硬件— 用system_profiler SPPowerDataType看电池和电源状态交叉验证— 看历史记录有没有规律比如每次都是凌晨 → 自动更新常用命令速查# 1. 关机/重启历史lastrebootshutdown|head-20# 2. 完整电源日志pmset-glog# 3. 查看关机原因代码log show--predicateeventMessage contains Previous shutdown cause--last7d# 4. 诊断报告目录ls-la/Library/Logs/DiagnosticReports/# 5. 电池和电源信息system_profiler SPPowerDataType pmset-gbatt# 6. 当前电源设置pmset-g小提示pmset -g log的输出非常长建议用grep过滤时间段或关键词或者重定向到文件后慢慢看pmset -g log power_log.txt最后说两句其实 Mac 绝大多数莫名其妙的重启都不是硬件问题。系统更新、睡眠维护、第三方应用崩溃——这些才是最常见的原因。比起直接预约天才吧先花十分钟在终端里敲几条命令往往就能搞清楚状况。当然如果查到了 .panic 文件或者多次出现不明原因的关机那还是尽快送修比较稳妥。硬件故障这种事越早发现越好。希望这篇记录对你有用。下次 Mac 再偷偷重启不用慌按步骤查就行。技术笔记 · macOS 故障排查系列
返回列表