本地快照自动清除仅由空间压力或自然老化(最长24小时)触发,无固定日历式过期;当启动盘可用空间低于约10%时,backupd每小时检查并调用thinlocalsnapshots清理最旧快照,优先保留至少1个最近快照。

macOS 系统快照(特指 Time Machine 本地快照)没有“日历式过期”概念,也不会按固定天数(如7天、30天)自动清除。它的清理完全由空间压力驱动,且只在特定条件下触发。
本地快照的生命周期规则很简单:最多保留24小时,或直到磁盘空间紧张时被主动回收。
它不是“到期就删”,而是“该让位时才删”——系统优先保障可用空间,而非守时执行删除。
本地快照什么时候会被自动清除?
- 自然老化淘汰:单个本地快照默认最长存活24小时。超过这个时限,若磁盘仍有足够空间,系统可能暂不清理,但会将其标记为“可删”。
-
空间不足触发:当启动盘可用空间低于约10%(系统动态估算,通常为8%–12%),Time Machine 后台进程 backupd 每小时检查一次,一旦触发阈值,立即启动
thinlocalsnapshots清理流程。 - 外置备份盘断连期间:只要 Time Machine 设置为“自动备份”且磁盘格式为 APFS,Mac 就会在未连接备份盘时持续生成本地快照;这些快照会累积,直到空间告急才批量瘦身。
清理过程如何运作?
- 删除单位是「整个快照」,不是文件或目录。每个快照对应一个时间戳(如
com.apple.TimeMachine.2025-12-15-092347)。 - 系统智能识别依赖关系,优先删最旧、最冗余、与当前系统状态偏离最大的快照链,同时尽力保留至少1个最近快照用于基础恢复。
- 不会删除被锁定(pinned)的快照,也不会动正在被备份进程引用的活跃快照。
用户能做什么来影响这个策略?
-
无需设置,也无法配置天数:macOS 没提供类似
tmutil setretentiondays的命令,所有尝试修改保留周期的操作均无效。 -
可安全干预释放空间:
- 运行
sudo tmutil thinlocalsnapshots / 9999999999999999 1主动触发清理(推荐) - 若快照实际挂载在数据卷上,改用
/System/Volumes/Data路径执行相同命令 - 用
tmutil listlocalsnapshots /先确认快照存在,避免白跑
- 运行
-
长期减少快照堆积:
- 保持 Time Machine 备份盘定期连接,减少本地快照生成频率
- 避免在启动盘写入大量临时大文件(如视频渲染缓存),这类操作易催生高频快照
- 不手动禁用本地快照(
sudo tmutil disablelocal),除非你有稳定外置备份习惯且明确接受失去本地恢复能力
不复杂但容易忽略。











