分析方法
Mint 怎样分析存储,再给出清理建议
看 Mac 的存储,要回答两个问题:空间为什么被占着,删掉一部分又会怎样。Mint 会把历次扫描、数据属于哪个应用或项目、文件内容和当前是否在用放在一起看。这篇文章说明每类证据能证明什么,以及哪些决定要交回给你。
现在占多少,和最近涨了多少
占得最多的和涨得最快的,常常指向不同的问题。一个几个月都停在 80 GB 的项目,可能根本不用管。一个从 2 GB 涨到 12 GB 的应用,反倒可能是你这周空间不够的原因。
Mint 的历史来自记录下来的扫描。第一次扫描是起点,某个来源的变化量就是后一次的大小减去前一次的大小,前提是两次都测到了它。一个应用第一次出现在列表里,不代表它以前占用为零。
Mint 看到的是两次扫描之间的变化,并不记录每一次文件写入。假如总占用涨了 10 GB,其中一个来源涨了 7 GB(数字仅作举例),先查这个来源很合理。但别的来源可能也在变,覆盖范围也可能不完整,所以剩下的 3 GB 不能直接算到“系统”头上,那 7 GB 也不一定都是垃圾。一次清理处理掉的量,和下一次扫描看到的减少量也常常对不上,因为应用还在写文件,文件系统也可能暂时留着可恢复的数据。Mint 会把两者分开:清理记录算的是处理过的数据量,磁盘上实测的变化另外显示,不会硬凑成一样。
数据放在哪里,又是做什么用的
路径说明数据在哪,归属说明它属于哪个应用或项目,角色说明它用来干什么。Application Support 里既可能有能重新下载的资源,也可能有设置、数据库和别处找不到的工作记录。文件夹叫 cache,也不代表里面的东西都能删。
开发项目里,源代码、构建产物和下载的依赖常常放在一起,找回来的办法却各不相同。代码是你写的,构建产物要重新编译,依赖可能要联网下载。对支持的项目类型,Mint 会看项目标识、配置、目录结构和当前是否在用。只凭文件夹名叫 build 或 bin,证据远远不够。
压缩包也一样。一个 ZIP 可能是下载来的安装包,也可能是你交给客户的唯一一份成果。在 Direct 版里,对 ISO、XIP、ZIP 和 IPSW 固件这几种安装格式,Mint 会检查里面装的是什么、文件放在哪里,以及是否已挂载或正在使用。旧的磁盘映像和安装包只按类型和存放时间标出来,所以这些行不会替你勾选。要不要留着安装包离线安装或回退版本,由你决定。
一条有用的发现,要讲清具体位置、属于谁、做什么用、删掉会怎样。磁盘页按删掉意味着什么来分组(残留、可重建、杂项、保留),每一行写明所属应用。分组和应用名都不代表可以清空这个应用的整个数据目录。
什么才算重复
整个文件一模一样、照片看着很像、同一张图在一段对话里存了好几次,这是不同的发现。完整内容一致才能说明是副本,抽样一致只能缩小范围,看着像也没法替你决定留哪张。内容完全相同的文件,也可能正被不同的项目引用着。
2026 年 9 月,我们在不改动任何文件的前提下,研究了一台日常在用的 Mac。它的 1,467 个 Codex 会话 JSONL 文件共 16.509 GB,按整文件哈希比对没有任何重复。解析里面的图片后,62,014 次图片出现只对应 12,104 张不同的图片。每张只留一份的话,多出来的部分是 4.605 GB,占解码后图片字节的 76.9%。
也就是说,重复发生在会话内部,跟主任务、子任务和图片引用之间的关系有关,去找相同的文件永远找不到。约 4.547 GB 的重复集中在同一个主会话家族里。对这份样本来说,先研究应用自己怎么保存图片,比做跨应用去重更有依据。
76.9% 的分母是能识别、解码后的图片字节,既不是会话文件的大小,也不是能回收的磁盘空间。解析不了的内容单独记录,没有当成零。重复的图片可能是回放或继续对话要用的,任何改动都得先确认引用不会断、能恢复。一台 Mac 的结果,说明不了普通用户能省多少,也说明不了清理的整体准确率。
省下的空间,和找回来要花的功夫
知道数据能重建,只说明有办法找回来。要花多久、要不要联网、旧版本还能不能下到、明天是不是就要用,这些都还不知道。你要掂量的,是今天腾出的空间值不值得下次再花这些功夫。
构建进行到一半时,别动它的构建产物。重新下载平时没问题,明天要离线用就不行了。旧版本可能是你回退的后路,留哪张照片也只有你知道。所以 Mint 会把发现分开放,有些是能直接清理的具体项目,有些需要你挑选和复核,还有些只用来解释空间去了哪里。能做什么取决于数据类型、当前状态和你用的版本,测到的字节不会自动变成能清理的项目。
时间阈值用来挑出值得看一眼的东西,过了期限,数据也未必就没用了。几个月没打开的备份,可能是唯一的一份。昨天生成的临时文件,可能早就用完了。
动手之前,再确认一遍
从扫描到清理之间,应用可能启动了,文件可能被替换了,构建可能开始了,路径也可能指向了别处。扫描只记录了某一刻,所以真正执行前,Mint 会按具体操作重新检查,比如有没有在用、处理范围是什么、是否受保护。情况变了,之前的候选就可能被跳过。
Mint 会复用仍然有效的目录大小、内容哈希和会话分析结果,这能省下分析时间,执行时的检查照样一项不少。权限不够、扫描被打断或碰到分析范围上限,只说明这部分还没确认,不能当成没问题。
这也是报告未必能解释每一个字节的原因。Mint 可能知道一个目录多大,却还不支持里面的格式;也可能知道东西属于谁,却没法确认现在能不能动。把这些情况摆出来,比把说不清的字节都叫作“可清理空间”有用。
你的反馈会改变什么,撤销有哪些前提
文件内容能提示用途,却说明不了你为什么留着它。你撤销 Mint 做过的事、把它整理过的文件挪回去,或者把清理掉的东西从废纸篓拿回来,Mint 会问你要不要把这条路径加进忽略列表。你不理它,就什么都不变,下次整理还是可能移动它。你加进去以后,这条路径就是“受保护”,Mint 不会再碰。
Mint 会记录文件操作,符合条件的操作只要所需文件还在,就能撤销。永久删除没法恢复,清空废纸篓和对 Codex 对话做“优化”也一样,优化会把对话里的图片变成小预览。日志能帮你把东西找回来,但它算不上备份。
一次操作没人撤销,并不能说明分类对了,也不能说明你满意。明确的修正、真正的恢复和没有反应,是不同的信号,哪个都不能当成实测的准确率。
拿到一条发现,可以这样看
先从你眼下的问题出发。空间突然不够,就看可比较的扫描之间哪些来源在涨。想给一次安装腾地方,就看具体候选和各自找回来的代价。然后确认数据在哪、做什么用,再看证据是完整内容比对、结构检查,还是只按时间和大小筛出来的。
动手前,看清会改动哪一项、会不会影响手上的工作、下次再用要重新构建、联网下载还是从备份恢复。清理之后,留意后面几次扫描空间有没有涨回来。一次清理只解决眼前的空间,数据会不会再堆起来,要看你的使用习惯。证据不够的时候,继续查或者先留着,都是合理的结果。
在你自己的 Mac 上看一条发现
下载 Mint 扫描一次,然后打开任意一条发现,看看它在哪里、依据是什么、删掉会带来什么影响。