当 Mac 存储空间开始慢慢消失时,最直接的反应是打开最大文件视图,寻找最大的文件夹。
这有帮助,但并不总能回答正确的问题。大路径列表告诉你现在什么大,但不一定告诉你什么发生了变化。
这就是磁盘使用时间对比重要的原因。如果你想找到增长的真正来源,更聪明的问题不是”今天什么大?“而是”两个时刻之间什么增长了?“
核心理念:一次性的大文件列表对当前清理有用,但基于时间的差异对比在尝试识别存储增长来源时更有用。
快速回答
- 当前的
Largest视图显示的是现在什么在占用空间。 - 时间对比显示
Baseline和Target之间发生了什么变化。 - 最有用的增长信号是
Grew、New、Shrank、Removed和Net Delta。 - 在 Xcode 更新、Docker 工作、模型下载、导入、卸载操作和长时间的开发工作之后,对比特别有用。
- 手动对比是可行的,但效果有限,因为大多数人不会保持一致的历史记录或增量记录。
- 更好的工作流程是:先捕获基线,之后捕获目标,然后在猜测之前对两个状态进行差异对比。
为什么最大文件列表不总是够用
磁盘上最大的路径并不自动就是导致问题的路径。
一个文件夹可能已经很大且数周保持稳定。另一个文件夹总体较小但在三天内快速增长。如果你只检查当前占用最大的路径,可能会将稳定的重量误认为新的增长。
这就是一次性检查的核心局限。它回答的是:
- 现在什么大;
- 当前重分支在哪里;
- 什么值得立即审查。
但它不总能回答:
- 上周以来什么变了;
- 工具更新后什么增长了;
- 你的清理实际移除了什么;
- 哪条路径每隔几天就在持续膨胀。
这些是比较问题,不是当前状态问题。
磁盘对比什么时候最有用
当存储问题逐渐出现或在已知事件之后,时间对比变得特别有价值。
Xcode 更新或模拟器频繁使用之后
开发者机器通常在 SDK 更改、模拟器运行时下载或重复重建周期后出现突发增长。当前占用可能看起来很大,但更有用的问题是自上次已知良好状态以来什么发生了变化。
Docker 工作之后
Docker 存储可以通过镜像、层、构建缓存和卷增长。如果你只检查当前占用,可能会错过最近几次会话后哪个类别实际膨胀了。
机器学习或 AI 模型下载之后
模型权重、缓存和相关运行时资产可能突然出现并消耗大量存储。差异对比使这些新路径更容易识别。
大量导入或媒体工作之后
照片导入、导出、归档、录制和项目迁移通常成簇改变磁盘。对比有助于将一次性增长与较旧的稳定库分离。
卸载或清理工作之后
这是最被低估的用途之一。快照差异不仅显示什么增长了,还显示什么实际消失了、什么只是缩小了,以及清理是否按你预期的方式影响了磁盘。
在开发者机器上一两周之后
这是经典的缓慢泄漏场景。磁盘持续失去空间,但不是通过一个戏剧性的事件。对比为你提供了一种可靠的方式来回答那段时期发生了什么变化,而不依赖记忆。
两个具体的对比场景
Xcode 更新或模拟器密集的一周之后
Baseline -> Target在变更前捕获一个快照,变更后捕获另一个。然后检查 ~/Library/Developer 下什么是 New 以及什么 Grew,看看压力是来自 DerivedData、模拟器运行时还是其他 Apple 侧存储。
Docker 密集的本地工作之后
Baseline -> Target将更干净的基线与后续目标对比,检查增长模式更多指向镜像、构建缓存还是卷支撑的项目数据。
清理或卸载之后
Before -> After对两个快照进行差异对比,确认什么实际 Shrank 或被 Removed,而不是依赖磁盘"现在看起来好些了"的感觉。
两个时刻之间对比什么
有用的时间对比需要一致的术语。在 StorageRadar 中,结构已经很清晰:
BaselineTargetGrewNewShrankRemovedNet Delta
Baseline
基线是你较早的快照。它是回答”在这段增长或清理之前磁盘是什么样子”的参考点。
Target
目标是较晚的快照。它回答的是”磁盘现在是什么样子”。
Net Delta
这是两个状态之间的总体大小变化。它在你深入个别路径之前给出总体答案。
Grew 和 New
这些通常是追踪存储增长来源时最重要的类别。
Grew告诉你哪些现有路径大小增加了。New告诉你哪些路径在基线之后出现了。
Shrank 和 Removed
这些在清理或卸载工作之后特别有用。
Shrank显示仍然存在但变小的路径。Removed显示完全消失的路径。
为什么范围很重要
要让这个比较有意义,Baseline 和 Target 需要指向相同的根路径。否则你不是在做增长的时间对比,而是在比较两个不同的范围。
时间对比与简单 Largest 视图的区别
这个区别值得明确说明,因为两个工具解决不同的问题。
| 问题 | 最佳视图 |
|---|---|
| 现在什么占用最多空间? | Largest |
| 那些重路径在文件夹树中处于什么位置? | Disk Map |
| 两个时刻之间什么发生了变化? | Reports |
| 哪些路径增长、缩小、出现或消失了? | Reports |
Largest 是当前状态工具。当 Mac 已经面临压力且你需要知道现在什么重时,它是理想的。
Reports 是对比工具。当真正的问题是增长、重复出现或清理后验证时,它是理想的。
如果你想了解围绕当前扫描与时间对比的更广泛诊断模型,如何查找 Mac 上占用空间的内容是配套指南。
为什么手动对比很费力
你可以尝试手工完成,但工作流程通常会很快出问题。
手动测量不一致
人们很少在相同时间以相同范围捕获相同的文件夹。这使得后续对比充满噪音。
记忆是不可靠的基线
大多数人不记得一个文件夹上周四是 18 GB、26 GB 还是 33 GB。他们只记得现在感觉更大了。
Finder 不保留增长历史
Finder 对于检查已知路径很有用。它不是历史差异工具。它不保留磁盘结构的本地快照,也不以有意义的方式总结随时间的变化。
上下文会丢失
即使你手动记下数字,你仍然会丢失数字背后的结构。你可能知道一个文件夹增长了 12 GB,但不知道这是来自一个子路径还是其中许多较小的变化。
清理验证变成猜测
清理之后,手动对比通常变成”我觉得回收了一些空间”。这比看到什么实际缩小或消失了弱得多。
StorageRadar 如何处理磁盘使用的时间对比
这是 StorageRadar 开始不像一次性可视化工具而更像分析工具的地方。
那个工作流程很重要,因为它将问题从”现在什么看起来吓人?“变成了”实际发生了什么变化?”
在开发者机器上、长期运行的工作站上,以及在你想要正确验证的任何清理或卸载之后,这是一个更有力的问题。
追踪增长,而非仅仅大小。
查看 Reports 和快照这个工作流程什么时候值得额外一步
时间对比并不是每个清理任务都需要的。如果磁盘满了是因为 Downloads 明显堆积了一堆旧的 DMG 和导出文件,当前的 Largest 视图可能就够了。
但在以下情况值得使用:
- 存储空间持续逐渐减少而你不知道原因;
- Mac 上叠加了多个复杂的工作流程;
- 你想验证清理效果而不是猜测;
- 你需要什么发生了变化的证据,而非仅仅对什么感觉很大的直觉。
这就是为什么这个工作流程与一般清理文章的转化方式不同。它将产品展示为分析工具,而不仅仅是清理器。
总结
比较一段时间内的磁盘使用情况帮你回答比普通大文件浏览更好的问题。
与其只问现在什么大,你可以问什么增长了、什么出现了、什么缩小了、什么在两个时刻之间消失了。这通常是猜测与实际找到存储增长来源之间的区别。
常见问题
为什么在 Mac 上对比一段时间内的磁盘使用情况很有用?
当前的大文件列表显示的是现在什么很大,但时间对比显示的是实际发生了什么变化。这使得找到逐渐增长的存储空间来源变得容易得多。
什么时候应该对比快照而不是仅检查最大文件?
当存储空间在数天或数周内持续减少时、在重大工具更新后、在 Docker 或机器学习工作后、在清理之后或任何你需要了解两个时刻之间什么增长而非仅仅现在什么很大的时候,对比快照。
Grew、New、Shrank、Removed 和 Net Delta 是什么意思?
Grew 显示大小增加的路径。New 显示基线之后出现的路径。Shrank 显示变小的路径。Removed 显示消失的路径。Net Delta 显示两个快照之间的总体变化。
快照比较与 Largest 视图有什么区别?
Largest 显示一次当前扫描中的最大项目。快照比较显示两个兼容快照之间存储的变化。它们回答不同的问题,配合使用效果最佳。
我可以在 Finder 中手动比较一段时间内的磁盘使用情况吗?
你可以尝试,但很费力。Finder 不保留历史快照、不计算增量、也不清晰地组织增长和缩减,因此手动比较很快就会变得容易出错。
为什么 Baseline 和 Target 需要相同的根路径?
比较只有在两个快照描述相同范围时才有意义。如果一个快照覆盖不同的根路径,差异就不再是有效的增长分析。