← 所有文章

为什么 Photos 资源库是你 Mac 上体积最大的东西

Photos 资源库常常是 Mac 上体积最大的一块。这里说清楚它里面装了什么、iCloud 优化能做到什么,以及哪些部分可以安全清理。

· 更新于 2026年9月14日
PhotosmacOSStorageiCloud

更多同类指南目前仅提供英文版本。 查看全部文章


在这个博客覆盖的所有分类里,Photos 通常是个人 Mac 上单独占用空间最大的一项——比任何开发者缓存都大,比系统数据都大,往往比磁盘上其他所有东西加起来还大。

du -sh ~/Pictures/Photos\ Library.photoslibrary

这个包(package)里到底装了什么

访达把 Photos Library.photoslibrary 显示成一个文件,但它其实是一个包——右键点击,选择 显示包内容,就能看到真实的结构:

du -sh ~/Pictures/Photos\ Library.photoslibrary/*
  • originals/ ——每一张照片和每一段视频的完整、未修改分辨率原始文件。这通常占资源库总大小的 80% 以上,尤其是近几年 iPhone 拍的 4K 视频。
  • resources/ ——苹果生成的派生数据:界面需要的各种尺寸缩略图、设备端的人脸识别索引,以及你调整过的每张照片的编辑历史(和原图分开保存,这样编辑才能保持非破坏性)。
  • database/ ——真正的目录索引:相册、标签、日期,哪张照片放在哪里。相对其他部分体积很小,但却是丢了会真正让人心疼的那部分——这是你的组织结构,而不是媒体本身。

iCloud 照片的“优化 Mac 储存空间”——它到底做了什么

如果你开启了 iCloud 照片,系统设置 → Apple ID → iCloud → 照片里会有一个“优化 Mac 储存空间”选项,它会在本地只保留适合设备的小尺寸版本,等你真正打开某张照片时才按需下载完整原图。这是大多数人从来没按下去的、单个杠杆效果最大的开关:

# No shell equivalent — this is a toggle in System Settings, not a command.
# System Settings → [your name] → iCloud → Photos → Optimize Mac Storage

代价是:打开一张你很久没看过的旧照片,会触发从 iCloud 下载,需要联网,第一次打开会稍微等一下。对大多数人来说,这在日常使用中几乎感觉不到,却能立刻回收几十 GB 空间。但它只有在你的资源库真的由 iCloud 照片托管时才有效——如果你压根没有登录 iCloud 照片,不管这个开关怎么设,所有内容都会留在本地,没有例外。

如果你没有用 iCloud 照片

如果你的资源库只存在本地——没有 iCloud 同步,或者 iCloud 被关掉了——那就没有“优化”按钮可用,能做的事就更手动一些:

删除重复和近似重复的照片。 Photos 自带的工具 → 重复项视图(较新版本的 macOS 里有)内置了完全重复和近似重复检测——连拍序列和不小心重复导入,是这里最常见的元凶。

清空 Photos 的“已删除”相册。 在应用里删除一张照片,会先把它移进“最近删除”相册保留 30 天,之后才真正释放空间——和访达废纸篓的机制一样,解决办法也一样:

相册 → 最近删除 → 全部删除,或者干脆等满 30 天。

迁移资源库,或者导出你不是每天都要用的内容。 Photos 支持多个资源库,也支持把很少打开的归档资源库放在外部硬盘上,本地只留一个日常使用的工作资源库。这是本文里改动最大的一步,只有在你已经做完上面所有优化、空间依然紧张时才值得考虑。

什么绝对不要直接动手改

永远不要手动编辑 originals/ 或 resources/ 里的文件,也永远不要在应用之外直接删除包内的任何东西——database/ 目录会精确追踪 originals/ 里每个文件的路径和校验和,手动改动会让目录和实际情况脱节,轻则损坏资源库,重则让照片在应用里“消失”,而文件其实还技术性地留在磁盘上。这里所有正当的空间回收方式,都得经过 Photos 应用本身或者 iCloud 优化设置,绝不能对着包内部直接跑 rm 命令。

这在你磁盘的整体格局里处于什么位置

可以说,Photos 是个人 Mac 上唯一一个真正不属于缓存或垃圾的主要存储分类——它是你实实在在拥有的东西。“这 88 GB 是真实的、属于你的”,和“这 62 GB 是你不需要的构建缓存”一样,都是有用的信息,只不过该采取的行动不一样。

也正因为如此,正在开发中的免费 Mac 应用 DevCruft 在设计上会把 Photos 和扫描到的其他所有内容区别对待:在地图上按真实大小显示,标为“保留”,不会像对待 DerivedData 或者一个过期的 node_modules 文件夹那样,把它当成一键回收的目标。想在它推出时收到通知,可以加入候补名单。

关于 Mac 上另一个体积庞大、但同样不是缓存的东西,可以看看iPhone 备份指南——Photos 同步和本地备份经常被人搞混,但其实是完全独立的两个存储分类。

一款专门做这件事的免费应用正在开发中。

我们正在开发 DevCruft,用来找出这类指南中提到的每一种缓存,并告诉你每一种占用了多少空间。加入等候名单,在它推出时获得通知。

只在推出时发一封邮件,别无其他。你可以随时要求我们将你移除。 隐私政策