mac“系统数据”占用异常多是因time machine本地快照静默占用空间,需在/system/volumes/data卷上检查并清理;执行sudo tmutil thinlocalsnapshots可安全批量精简,禁用local快照需sudo tmutil disablelocal后重启验证。

Mac磁盘空间被“系统数据”大量占用,且储存管理界面显示存在Time Machine本地快照,说明这些不可见、不可拖拽的快照正在 silently 占用数GB至数十GB空间——它们不显示在访达中,却稳稳计入“其他”,导致更新失败、缓存写入卡顿、甚至触发“磁盘几乎已满”警告。
确认快照真实存在并定位路径
很多用户执行 tmutil listlocalsnapshots / 返回空就以为没快照,其实 macOS 11+ 后快照默认存在 /System/Volumes/Data 卷上,而不是根卷 /。这一步漏掉,后面所有命令都白跑。
打开终端 → 依次执行:
sudo tmutil listlocalsnapshots / → 若返回“No local snapshots”或报错,立刻执行:sudo tmutil listlocalsnapshots /System/Volumes/Data
更保险的做法是直接验证底层状态:diskutil apfs listSnapshots /System/Volumes/Data。它会列出每个快照的 UUID、大小、以及 【Purgeable: Yes】 状态——只有标着 Yes 的才能安全删。
批量精简所有可删快照(推荐首选)
这是最安全、最省心的方式:系统自动跳过受保护、刚创建或正在被引用的快照,只删冗余项,不影响文稿版本恢复能力。
执行:sudo tmutil thinlocalsnapshots /System/Volumes/Data 9999999999999999 1
参数含义:目标释放字节数设为极大值(即全清),最多保留1个快照。输入管理员密码后回车,等待终端返回 “Thinning complete” 或 “Deleted X local snapshots”。
执行完立刻再跑一次 sudo tmutil listlocalsnapshots /System/Volumes/Data,输出应为空或只剩最近一个——如果还有多个,说明部分快照被系统标记为不可删(比如刚生成不足1小时),不用强求清零。
手动删除指定快照ID(精准控制)
适合某次快照异常庞大(比如单个超8GB),或外置备份完成后定向清理。注意:【com.apple.os.update 开头的快照绝对不能删】,那是你当前系统的只读副本,删了可能导致无法启动。
方法一:查ID → 删
从上一步 sudo tmutil listlocalsnapshots /System/Volumes/Data 输出中,复制完整 ID,例如 com.apple.TimeMachine.2026-07-22-143521。
执行:sudo tmutil deletelocalsnapshots com.apple.TimeMachine.2026-07-22-143521
每删一个,必须等终端明确返回 “Deleted local snapshot” 才能继续;没提示=没生效,跳过会导致后续命令静默失败。
方法二:先验再删(防误删)
若不确定某快照是否安全,先运行:tmutil calculatedrift /System/Volumes/Data。观察输出中是否有 “no drift” 字样——有则表示该快照与当前系统状态无差异,可放心移除。
禁用本地快照机制防止复发
第一步:终端执行 sudo tmutil disablelocal,系统立即停止生成新快照。
第二步:重启 Mac,确保禁用生效;重启后再次运行 tmutil listlocalsnapshots /System/Volumes/Data,确认无新增。
第三步:打开“系统设置”→“通用”→“时间机器”,确认右上角显示 【本地快照:已停用】。这一步不可跳过,否则下次断开备份盘,系统仍会自动重建快照。











