磁盘空间统计与 APFS 注意事项
磁盘分析里应区分四个数字:
- 占用空间:扫描对象当前由
du或扫描器测得的大小。 - 可能清理空间:按规则计算的理论候选值。
- 实际删除的项目体积:成功处理文件后的逻辑体积。
- APFS 真正释放的物理空间:文件系统可用空间实际变化。
四者可能明显不同,尤其是在 APFS 快照、克隆、硬链接和镜像文件存在时。
常见误差来源
| 情况 | 后果 |
|---|---|
| APFS 克隆 | 两个目录可能共享磁盘块,分别相加会重复 |
| 硬链接 | 多处路径不一定对应多份存储 |
| Time Machine 本地快照 | 删除文件不保证立即释放全部物理块 |
| Docker / OrbStack 镜像 | 镜像或卷可能内部分配、稀疏且共享 |
| 挂载的镜像 | 统计口径可能涉及另一个文件系统 |
| 权限不足、超时 | 只能获得下界或未知值 |
| 删除到废纸篓 | 数据仍在相同卷上,通常尚未释放物理空间 |
Mole 的计量方式
mo analyze 精确文件扫描能够在一定范围去重 APFS 克隆,但快速文件夹估算仍可能重复计数。JSON 的 scan_status 可帮助辨别是否完整。
mo purge 的汇总称为 Estimated space freed,本身就是估算,而非 APFS 物理释放保证。
mo clean 的操作日志与删除数量也不应被误认为精确的实际存储收益。
推荐核验
清理前后都使用同样的目标宗卷与观察方式检查可用空间,不把不同卷的 du 数据直接相加。对外接卷、APFS 快照和 Docker 镜像尤其谨慎。
任何工具都不应为了“清理了多少 GB”的好看数字而牺牲项目资产。