APFS 快照瘦身是安全释放失效快照数据块的操作,不删文件、不影响 Time Machine 和系统运行;需先用 tmutil 或 diskutil 正确定位 /System/Volumes/Data 下的快照,再通过 thinlocalsnapshots 智能清理或 deletelocalsnapshots 精准删除,僵尸快照可用 diskutil 强制删除。

macOS 的 APFS 快照瘦身不是删文件,而是让系统自动识别并释放那些“已失效、不被引用、长期滞留”的快照数据块。它不破坏 Time Machine 连续性,也不影响当前系统运行,是清理“系统数据”膨胀最安全高效的方式。
先确认快照真实存在位置
很多用户执行 tmutil listlocalsnapshots / 返回空,就以为没快照——其实 macOS 11(Big Sur)起,快照默认存放在数据卷 /System/Volumes/Data,而非只读的系统根卷 /。正确验证步骤:
- 终端中运行:
sudo tmutil listlocalsnapshots / - 若为空或报错,立刻补试:
sudo tmutil listlocalsnapshots /System/Volumes/Data - 更底层验证(含大小与可清理状态):
diskutil apfs listSnapshots /System/Volumes/Data,重点关注 Purgeable: Yes 的条目
用 thinlocalsnapshots 命令一键精简
这是 Apple 官方推荐的“智能瘦身”方式,系统会自动跳过受保护快照(如刚创建未满 24 小时的、正被 Time Machine 同步中的),只清理冗余项:
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
- 释放尽可能多空间(保留最少必要):
sudo tmutil thinlocalsnapshots /System/Volumes/Data 9999999999999999 1 - 稳妥释放指定空间(例如 5GB,至少保留 4 个最近快照):
sudo tmutil thinlocalsnapshots /System/Volumes/Data 5000000000 4 - 输管理员密码后等待提示 Thinning complete,再运行
tmutil listlocalsnapshots /System/Volumes/Data确认剩余数量
精准删除某天异常膨胀的快照
当某次备份后快照体积突增(比如单个达 8GB),或升级后残留特定日期快照,可用时间戳直接定位删除:
- 从
listlocalsnapshots输出中复制完整 ID,例如:com.apple.TimeMachine.2026-07-15-092347.local - 执行:
sudo tmutil deletelocalsnapshots com.apple.TimeMachine.2026-07-15-092347.local - 每删一个等终端返回 Deleted local snapshot 再操作下一个
- 不确定是否安全?先运行:
tmutil calculatedrift /查看该快照与当前系统的差异程度
处理 tmutil 失效的“僵尸快照”
断电、NAS 失联或升级中断可能导致快照元数据损坏,tmutil 无法识别或删除,此时需用 diskutil 强制操作:
- 用
diskutil apfs listSnapshots /System/Volumes/Data找到目标快照的 UUID 或全名 - 确认 Purgeable: Yes 后执行:
sudo diskutil apfs deleteSnapshot /System/Volumes/Data -name "快照全名" - 或更稳妥地按 UUID 删除:
sudo diskutil apfs deleteSnapshot /System/Volumes/Data -uuid XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

















