macos 未连 time machine 时会自动生成本地快照,占用“系统数据”空间且不自动清理;需用 tmutil listlocalsnapshots 查找、thinlocalsnapshots 批量精简或 deletelocalsnapshots 手动删除;可执行 tmutil disablelocal 禁用后续生成。

macOS 系统在未连接 Time Machine 备份盘时,会自动生成本地快照(local snapshots),用于提供临时恢复点。这些快照不显示在访达中,却直接计入“系统数据”,单个可达数GB,长期积累可能占用数十GB空间。它们不会自动清理,必须手动干预才能释放。
确认当前有哪些本地快照
快照可能分布在不同 APFS 宗卷上,不能只查根目录。推荐按顺序执行以下命令:
- 打开终端,运行:sudo tmutil listlocalsnapshots /(需输入管理员密码)
- 若返回 No local snapshots for volume '/',说明快照可能挂在数据卷上,再试:sudo tmutil listlocalsnapshots /System/Volumes/Data
- 输出结果类似 com.apple.TimeMachine.2025-12-15-092347,这就是可操作的快照 ID
优先用 thinlocalsnapshots 批量精简
这是最安全、高效的方式。系统会自动跳过受保护或刚创建的快照,只删冗余项,不影响备份连续性:
- 执行命令:sudo tmutil thinlocalsnapshots / 9999999999999999 1
- 如提示 No local snapshots for volume '/',改用:sudo tmutil thinlocalsnapshots /System/Volumes/Data 9999999999999999 1
- 成功后会显示 Deleted X local snapshots;再次运行 listlocalsnapshots 查看是否已清空或仅剩最近1–2个
手动删除指定快照(精准控制场景)
适用于某次快照异常庞大(如单个超10GB)、或需配合外置备份完成后的定向清理:
- 从 listlocalsnapshots 输出中复制目标快照 ID(例如 com.apple.TimeMachine.2025-12-15-092347)
- 执行:sudo tmutil deletelocalsnapshots com.apple.TimeMachine.2025-12-15-092347
- 每删一个,等终端返回 Deleted local snapshot 再继续下一条
- 不确定是否安全?可先运行:tmutil calculatedrift / 查看该快照与当前系统状态的差异
防止复发:禁用本地快照生成
如果不需要离线恢复能力,可彻底关闭该机制,避免后续再占空间:
- 终端中执行:sudo tmutil disablelocal
- 执行后,系统将不再生成新的本地快照
- 已存在的快照仍需用上述方法手动清理,禁用命令本身不删除现有快照











