# 苹果如何吃空你那256GB的硬盘：iCloud中的幽灵缓存

> 本文公开全文。

原文：https://utgd.net/article/20970

根据特斯勒复杂守恒定律，貌似简单优雅的东西背后，可能是一个草台班子。或者一个烂摊子。在所有云同步服务中，iCloud 貌似是最优雅的，但实际上也是最稀烂的，以至于同步失败早已成为家常便饭（或者成为身处国外者的炫耀资本）。

但当你深入挖掘 iCloud 的文件夹结构，将会发现，这栋建筑比任何人能够想到的还要支离破碎，简直堪比用一个周末做出来的学生项目。Hoakley 关于 iCloud 的系列剖析文章已成经典，时不时就冲上 Hacker News 热门，这是你客观看待 iCloud 的最好阅读材料。

——但，本文做不到客观（至少不能像 hoakley 那么客气）。因为，我们即将尝试从 iCloud 手中抢回少则几GB、多达几百GB的空间。

## CloudDocs 文件夹

俗话说，不见棺材不掉泪，如果不是一批用户的电脑空间被吃空耗尽，估计 iCloud 滥用的空间的问题还迟迟不会浮出水面。每隔一段时间就会有人抱怨，他们的 iCloud 缓存达到三十多GB，或者将近一百个GB，甚至一百多个GB，不幸的是，人工智能式的回复从不解决问题，很多人根本不敢删除，而 Mac 的硬盘又价比切糕，最后大家只能更换硬盘更大的电脑并订阅空间更大的 iCloud。

——但，如果我在 iCloud 上只有不到 20mb 的文件，缓存体积却达到它的几百倍呢？问题绝对不在于我，问题一定出在 iCloud 上。

现在，请打开下面的文件夹，检查一下 iCloud 在您的电脑上隐藏了多少文件：

```
~/Library/Application Support/CloudDocs/session/i
```

为了和下一节的缓存文件相区分，恕我简称本节的目标为“CloudDocs 文件夹”，但其实特指上面路径中的 i 文件夹。不要害怕，直接点进这个文件夹——放心，不会弄坏任何东西——然后切换到图标视图，显而易见，其中的文件均为独立文件，有大有小，凭着记忆，我意识到这些都是我曾经放在 iiCloud 里的东西（绝大部分是丢在桌面上的）。

诡异的是，尝试按日期排序后，我发现 CloudDocs 文件夹中最古老的文件可以追溯到一年多以前，这还很可能是我当时重新登录过 iCloud，否则里面的东西会更古老。

疑问生焉：这些东西，究竟是残留的已删除文件（相当于 iCloud 版的回收站），还是其他类型的缓存？一定不是前者，因为我的 iCloud 最近删除页面中只有几十个文件，而 CloudDocs 中的文件数量十余倍于斯。

事实上，这些文件是 iCloud 中待上传的文件，举个例子，你可能不小心把一部10GB电影文件移到了桌面，在上传之前，你眼疾手快把它移回了下载文件夹，但是，iCloud 中的上传过程或许已经开始，10GB的空间也被偷偷吃掉。而无论是重启或者杀死 bird 进程以重置 iCloud 同步，都不会对 CloudDocs 文件夹产生任何影响。

通常，我们只有在退出 iCloud 并重新登录时，或者按某些偏方手动一通乱删时，才会清除 CloudDocs 文件夹中的缓存。

一言以蔽之，CloudDocs 是 iCloud 失败的耻辱柱。如果它体积过大，你完全可以大胆删除它，最严重的后果无非重置目前正在进行的同步进程——不仅无害，说不定还会让你的同步更顺畅！

## MMCS 文件夹

相比 CloudDocs 文件夹，另一处 MMCS 文件夹（同样是简称）更为神秘。

```
~/Library/Caches/CloudKit/com.apple.bird/这里是一串随机数字，请手打打开检查/MMCS/ClonedFiles/
```

如果说 CloudDocs 中的文件还看得出是什么，那么 MMCS 下的东西就显得莫名其妙，全是没有拓展名的随机名称文件，让人退避三舍。这也导致在谈及 MMCS 文件夹时，多数人的态度是留着不动——如果他们意识到这个文件夹的存在的话。

——但，如果 MMCS 吃掉了你电脑上80%的空间呢？你可以换一台 2TB 硬盘的新电脑，这是 Apple 最愿意看到的事情，但相信我，如果你的使用习惯导致你今天损失了 200GB 空间，那么这个数字膨胀到 2000GB 只是早晚问题。或许不会太久，说不定两季美剧的时间就够了。我的 iCloud 里最占体积的只是几张执照和证书扫描件，但我的 MMCS 文件夹依然达到了 5\.89GB。

不过我偏偏不信邪，浏览 MMCS 中的文件目录时，我发现其中部分带着标签……而且是我自己打上去的标签（Tag），不是那些随机生成的颜色标记（Label），这意味着 MMCS 中的随机名称文件或许是经过特殊处理的文件缓存。实验方法很简单，打开 MMCS 文件夹，切到按添加时间排序，再往桌面上丢一张截图（当然，你要开启桌面的 iCloud 同步），你会看到，MMCS 出现了一个体积和截图一模一样的随机名称文件。

那么……试试用预览程序打开这玩意儿？很好，原来所谓的随机名称文件，就是刚刚丢到桌面上的那张图片。我再尝试打开了几个体积巨大的文件，原来是 PDF 或 Word 文档，而且相当一部分是我早就删除、连垃圾桶都清空过的。

易言之，MMCS 不过是改了文件名的 CloudDocs 文件，让你不知所以。但至少可以肯定一点，你也可以大胆删除 MMCS，而不必担心影响 iCloud 同步。

## 小结

正如 hoakley 所发现的，不存在某个叫 iCloud 的实体。

有的只是由一堆复杂服务组合起来的弗兰肯斯坦，而 CloudDocs 和 MMCS 正代表了其中的两套机制，它们似乎有所交叠，但又找不到任何公开文件说明其工作机制，我们只能旁敲侧击，从种种迹象判断，它们藏匿了大量和 iCloud 有过接触的文件。

我不知道这种设计的意义何在，或许就没什么设计。

我能想到的唯一积极方面在于，或许下次当你误删文件时，可以在这两个文件夹中碰碰运气。

---

[前往标准阅读页](https://utgd.net/article/20970?audience=web)
