mac“系统数据”占用过高主因是time machine本地快照滞留,需在/system/volumes/data路径下用tmutil thinlocalsnapshots全清或deletelocalsnapshots精准删除,并执行sudo tmutil disablelocal禁用机制、重启验证,最后闲置30分钟触发apfs元数据回收。

Mac磁盘空间被“系统数据”大量占用,且储存管理界面显示存在Time Machine本地快照,说明未连接备份盘时系统自动生成的本地快照长期滞留,实际不参与运行却持续吃掉数GB至数十GB空间。
用终端命令批量精简本地快照
打开“终端”应用(聚焦搜索输入“终端”即可)。
执行 tmutil listlocalsnapshots /,回车查看当前所有本地快照ID列表;若返回“No local snapshots”,请立即切换路径到 /System/Volumes/Data 并重试——【绝大多数本地快照实际生成在/System/Volumes/Data卷上,而非/根卷】。
确认快照存在后,执行:sudo tmutil thinlocalsnapshots /System/Volumes/Data 9999999999999999 1,该命令将强制删除所有可删快照(参数中极大数值代表目标释放字节数,设为最大值即全清)。
等待命令执行完毕,再次运行 tmutil listlocalsnapshots /System/Volumes/Data,输出应为空或仅剩最近一次快照。
手动删除指定日期的本地快照
方法一:通过快照ID精准删除
先执行 sudo tmutil listlocalsnapshots /System/Volumes/Data 获取完整ID列表,例如 com.apple.TimeMachine.2025-12-15-092347。
对目标快照执行删除命令:sudo tmutil deletelocalsnapshots com.apple.TimeMachine.2025-12-15-092347(务必替换为真实ID)。
每执行一次后必须等待终端明确返回 Deleted local snapshot 提示,再继续下一条;跳过等待可能造成命令静默失败。
方法二:检查快照依赖关系再删
若不确定某快照是否安全删除,先运行:tmutil calculatedrift /System/Volumes/Data,观察输出中是否有“no drift”字样——有则表示该快照与当前系统状态无差异,可安全移除。
关闭本地快照机制防止复发
第一步:在终端中执行 sudo tmutil disablelocal,系统将立即禁用所有新本地快照的生成。
第二步:重启Mac,确保禁用生效;重启后可再次运行 tmutil listlocalsnapshots /System/Volumes/Data 验证是否无新增。
第三步:打开“系统设置”→“通用”→“时间机器”,确认右上角显示“本地快照:已停用”。
这一步不可跳过,否则下次断开备份盘,系统仍会自动重建快照。
验证APFS残留并触发最终回收
打开“磁盘工具”,左侧选中启动宗卷(通常是“Macintosh HD”或“MacOS”),点击右上角“信息”按钮。
查看“可清除空间”数值,若仍显示数百MB以上,说明APFS快照元数据尚未完全释放。
此时无需额外操作,只需保持Mac闲置30分钟以上,系统会在后台自动完成元数据清理与空间回收。











