apfs本地快照(如time machine快照)不显示在访达但占用磁盘空间,可安全清理:先用tmutil listlocalsnapshots /system/volumes/data确认快照位置与大小,再用tmutil thinlocalsnapshots批量清理或tmutil deletelocalsnapshots手动删除,必要时用diskutil apfs deletesnapshot处理僵尸快照,最后执行df -h /并重启以释放空间。

先确认快照在哪、有多大
很多用户执行 `tmutil listlocalsnapshots /` 返回空就以为没快照——其实 macOS 11+ 后快照默认存在 `/System/Volumes/Data` 卷上,而不是根卷 `/`。 打开终端,按顺序执行:• sudo tmutil listlocalsnapshots /(查根卷)
• 若为空或报错,立刻试:sudo tmutil listlocalsnapshots /System/Volumes/Data
• 更底层验证:运行 diskutil apfs listSnapshots /System/Volumes/Data,它会列出每个快照的 UUID、大小、以及 Purgeable: Yes(可删)状态
优先用 thinlocalsnapshots 安全批量清理
这是最推荐的方式:系统自动跳过受保护、刚创建或正在被引用的快照,只删冗余项,不影响恢复能力。• 释放所有可删空间(保留最少必要):
sudo tmutil thinlocalsnapshots /System/Volumes/Data 9999999999999999 1
• 若只想腾出 5GB,且至少留 4 个快照:
sudo tmutil thinlocalsnapshots /System/Volumes/Data 5000000000 4
• 执行后等提示 “Thinning complete” 或 “Deleted X local snapshots”,再运行 listlocalsnapshots 验证
手动删指定快照(精准控制)
适合某次快照异常庞大(比如单个超 8GB),或外置备份完成后定向清理。• 从 listlocalsnapshots 输出中复制完整 ID(如 com.apple.TimeMachine.2026-07-15-082341)
• 执行:sudo tmutil deletelocalsnapshots com.apple.TimeMachine.2026-07-15-082341
• 每删一个,等终端返回 Deleted local snapshot 再继续下一个
• 不确定是否安全?先运行 tmutil calculatedrift / 查看该快照与当前系统的差异
处理“僵尸快照”或强制回收
某些快照因断电、升级中断或 NAS 失联变成元数据异常状态,tmutil 无法识别或删除,这时需绕过它:• 先用 diskutil apfs listSnapshots /System/Volumes/Data 找到目标快照的 UUID 或全名
• 确认 Purgeable: Yes 后,执行:
sudo diskutil apfs deleteSnapshot /System/Volumes/Data -name "com.apple.TimeMachine.2026-07-10-141233.local"
• 注意:-name 后引号内必须和 listSnapshots 输出完全一致(含 .local 后缀)
防止快照反复堆积
如果不需要离线恢复功能,或者始终连接外置 Time Machine 磁盘,可禁用自动生成:• 关闭本地快照:sudo tmutil disablelocal
• 注意:该命令不删除已有快照,必须先清空再执行
• 如需恢复,默认行为:sudo tmutil enablelocal











