可通过三种方法追溯mac开机重启历史:一、用last命令读取/var/log/wtmp获取精确开关机时间;二、用log命令检索统一日志系统中的结构化启动事件;三、检查~/library/logs/diagnosticreports/中kernel panic与关机诊断文件分析非正常关机原因。

如果您希望追溯Mac设备历次开机时间、重启节点及系统启动行为,可通过系统内置的多种日志机制获取完整历史记录。以下是三种互为补充、覆盖不同时间粒度与信息深度的系统监控方法:
一、使用last命令查看开关机时间序列
该命令直接读取/var/log/wtmp二进制日志文件,记录了所有用户登录、注销、重启(reboot)和关机(shutdown)事件,是获取精确时间戳最轻量且可靠的方式。
1、打开“访达”→按下Shift + Command + 空格调出聚焦搜索,输入“终端”并回车启动。
2、在终端窗口中输入以下命令并按回车:last reboot
3、滚动查看输出列表,每行包含重启时间、日期、运行时长及终端标识(如~),时间格式为Mon Mar 3 09:22形式。
4、如需同时查看关机记录,执行:last shutdown
5、若仅需最近10条开机记录,可追加限制:last reboot | head -10
二、通过log命令检索结构化启动事件
macOS 10.12+ 使用统一日志系统(Unified Logging),所有启动过程中的内核、服务、驱动活动均被结构化存储于数据库中;log命令支持时间范围、关键词与谓词筛选,可还原每次启动的完整上下文。
1、在终端中执行以下命令,列出本次启动以来所有含“reboot”或“startup”的日志条目:log show --predicate 'eventMessage contains "reboot" OR eventMessage contains "startup"' --last boot
2、查看过去7天内全部重启事件(含时间、进程名、子系统):log show --predicate 'eventMessage contains "reboot"' --last 7d
3、筛选出所有标记为“Previous shutdown cause”的日志,用于反向推断前次关机原因:log show --predicate 'eventMessage contains "Previous shutdown cause"' --last 30d
4、若需导出为文本便于分析,追加重定向:log show --predicate 'eventMessage contains "reboot"' --last 14d > ~/Desktop/reboot_history.txt
三、检查系统报告中的Kernel Panic与关机诊断文件
每次非正常重启(如内核崩溃、强制断电、温度保护关机)后,系统会自动生成带时间戳的诊断报告,存放于~/Library/Logs/DiagnosticReports/与/var/log/目录下,其中包含确切关机代码、触发模块及硬件状态快照。
1、在“访达”中按下Shift + Command + G,输入路径:~/Library/Logs/DiagnosticReports/,回车进入。
2、查找文件名含panic、shutdown或reboot字样的文件,例如Kernel_2026-02-28-143233.panic或shutdownCause_2026-03-01-084522.diag。
3、双击任一文件,用“文本编辑”打开,定位至末尾段落,查找字段:Previous shutdown cause: 后跟随的十六进制数值(如-128、5、3)。
4、对照标准代码含义确认事件性质:例如5 表示因CPU过热触发保护性关机,3 表示内核检测到不可恢复错误,128 表示电源适配器意外断开。










