从这里开始:通常占八成的那四项
在大多数「满了」的 Mac 上,有四样东西占了绝大部分,而它们都不是你的文稿。Time Machine 的本地快照、Xcode 的构建文件夹、Docker 的磁盘映像,以及旧的 iPhone 备份。在开始删照片之前,先查这四项。
为什么访达帮不上什么忙
苹果自己的存储界面把大部分答案归进一条标着「系统数据」的灰条,并且不给你进去的入口。它还把仅在云端的 iCloud 文件当作在磁盘上来计算,也不单独显示可清除空间,所以数字很少能和你看到的对上。
三个月后你还得再来一次
这个页面上的内容几乎都不是一劳永逸的。下一次构建之后 DerivedData 就回来了。本地快照一小时之内就会重现。你每拉取一个镜像,Docker 就会再长大,而你今天删掉的模型,二月还得重新下载。手动过一遍清单要花掉一个下午,换来几个月的清净 —— 做一次没问题,第四次就很累了。
在你删除任何东西之前
人们丢失工作,往往就发生在删除 ~/Library 里的内容时。那个文件夹里既有可以丢掉的应用缓存,紧挨着的又是不能丢的邮件、密钥、许可证和数据库。下面没有任何一条建议你盲目删掉整个文件夹 —— 每一项都会说明它是什么,以及什么会重新生成。
十二项,从最大的开始
这是一台用了三年的开发者 Mac 上的典型回收量。你的情况会不同,但顺序很少会变。
1. Time Machine 本地快照 —— 通常 10 到 80 GB
即使 Time Machine 处于「关闭」状态,macOS 仍会在你的内置硬盘上保留每小时快照。它们显示为可清除空间,macOS 只在空间吃紧时才释放,而它们正是「磁盘满了却找不到原因」最常见的答案。列出它们:
tmutil listlocalsnapshots /
精简它们以回收大约 20 GB,同时保留最新的:
tmutil thinlocalsnapshots / 21474836480 4
如果 Time Machine 是你唯一的备份,别习惯性地删掉所有快照 —— 最新的那一份正是尚未写入备份盘的改动的本地副本。
2. Xcode DerivedData 和设备支持 —— 20 到 60 GB
永不缩小的构建中间文件,加上你插过的每一部 iPhone 的符号缓存。
~/Library/Developer/Xcode/DerivedData
~/Library/Developer/Xcode/iOS DeviceSupport
~/Library/Developer/Xcode/Archives
DerivedData 会在下次构建时重新生成 —— 安全。归档则是你已发布的构建及其 dSYM;删掉它们就失去了为已发布版本的崩溃报告做符号化的能力。 完整的 Xcode 清理指南 →
3. Docker 的磁盘映像 —— 15 到 60 GB
Docker Desktop 把一切放在一个文件里,它只会变大,删除镜像也不会让它缩小。
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
永远不要直接删除那个文件 —— 它是你所有的镜像、容器和卷。请改为从 Docker 内部回收空间。 如何缩小 Docker.raw →
4. 本地 AI 模型 —— 20 到 200 GB
开发者磁盘上增长最快的一项,而且对所有主流清理工具都是隐形的。Ollama、LM Studio、Hugging Face 和 PyTorch 各有各的存储位置。
~/.ollama/models
~/.cache/huggingface/hub
一个 40 GB 的模型意味着重新下载;你自己微调过的那个则永远回不来。 每款 AI 工具把模型放在哪里 →
四项完成,还剩八项 —— 或者十秒钟
这个页面上的每个文件夹,Bytesweep 都已经认得。它约十秒就能测完整块磁盘,一次显示全部十二项的真实大小而不是估算,并在你动手之前告诉你哪些是安全的。 而且每次清理都会进入还原点,七天内都能撤销 —— 这正是手动方式给不了的,因为 rm 没有撤销。
5. iPhone 和 iPad 备份 —— 10 到 60 GB
设备的本地备份,常常是同一部手机的好几代。
~/Library/Application Support/MobileSync/Backup
每个子文件夹是一次备份,带有日期。为你仍然拥有的每台设备保留最新的一份,其余删掉。请通过访达 → 你的设备 → 「管理备份」来处理,而不是手动删文件夹。
6. iOS 模拟器 —— 5 到 30 GB
你不再适配的 iOS 版本的运行环境,以及 Xcode 已无法使用的模拟器设备。清除失效项的官方方式:
xcrun simctl delete unavailable
7. 旧项目里的 node_modules —— 5 到 50 GB
它不是一个大文件夹,而是一百个小文件夹。一个你一年没打开过的项目,仍然完整保留着它的依赖树,而 npm install 几秒就能把它装回来。Rust 项目里的 target 、Python 项目里的 .venv 以及到处都有的 build 同理。
8. 包管理器缓存 —— 3 到 20 GB
为了万一你再装同一个版本而保留的下载归档。
brew cleanup -s
~/Library/Caches/pip
~/.npm/_cacache
~/.cargo/registry/cache
它们都会自行重建。这是清单上最安全的一类。
9. 邮件附件 —— 2 到 20 GB
多年来在本地缓存的下载附件。
~/Library/Containers/com.apple.mail/Data/Library/Mail Downloads
对 IMAP 账户是安全的,因为服务器上仍有邮件。如果你用的是 POP 账户,本地副本可能是唯一的副本。
10. 多年前删掉的应用留下的残留
把应用拖进废纸篓,会把它的支持文件、偏好设置、缓存和启动项留在四个不同的文件夹里,只要这台 Mac 还在就一直留着。
~/Library/Application Support
~/Library/Caches
~/Library/Preferences
~/Library/LaunchAgents
11. 重复文件和几乎一样的照片
完全相同的副本只是简单的那一半。同一张照片的连拍、重新保存的导出和 HEIC/JPEG 成对文件浪费得多得多,而任何校验和都对不上它们。 查找近似重复 →
12. 下载项、旧安装包和大视频
最显而易见的一项,放在最后,因为它几乎从来不是答案。按大小而不是日期给「下载」排序 —— 一个被遗忘的磁盘映像就抵得过一整年的 PDF。
三件没有用的事
清空废纸篓并重启
值得一做,但在一台真正塞满的 Mac 上,这只能换回几百 MB。它不是你没空间的原因。
只用「优化存储空间」
macOS 会把文件卸载到 iCloud,这有帮助,但「系统数据」那一块它完全不碰 —— 而且被卸载的文件在访达的数字里仍然算数,除非你仔细去看。
删缓存让 Mac 变快
释放磁盘空间不是性能修复。还有 40 GB 空闲的 Mac 和还有 400 GB 空闲的 Mac 跑得一样快。任何以删缓存换速度的说法,卖给你的都是一种感觉。
或者让程序替你找出全部十二项
Bytesweep 约十秒扫完整块磁盘,把找到的内容分成安全、值得一看和不要删除,并把你清理的一切放进还原点,因此七天内撤销只需一次点击。
无需银行卡,无需账号。macOS 11 Big Sur 或更新版本,Apple 芯片与 Intel。
问题
Mac 上应该留多少可用空间?
大约是硬盘的 10% 或 20 GB,取两者中较大的那个。低于这个数,macOS 写入交换文件和快照会开始吃力,应用也会以令人费解的方式出错。高于这个数,更多的空闲空间不会带来任何好处。
什么是可清除空间,为什么我用不上它?
可清除空间是 macOS 认为可以按需回收的空间:本地快照、缓存的 iCloud 文件和部分应用缓存。它在某些地方算作已用,在另一些地方算作可用,这就是数字对不上的原因。macOS 只在确实有东西需要空间时才释放它,所以你盯着一块满的磁盘时,它可能就那样干放着。
删除 ~/Library 里的文件安全吗?
其中一部分可以,但不能整个文件夹地删。 ~/Library/Caches 大多会重新生成。 ~/Library/Application Support 里放的是真正的应用数据 —— 许可证、本地数据库、邮件。请逐项删除,并清楚每一项是什么,绝不要整个文件夹删掉。
释放空间会让我的 Mac 变快吗?
只有在你几乎满了的时候才会。低于约 10% 可用空间时,macOS 缺少交换文件和临时文件的余地,确实会变慢。高于这个数,从 100 GB 可用变成 400 GB 可用不会有任何变化。
我需要一个应用来做这些吗?
找文件夹并不需要 —— 这个页面给了你每一条路径,其余的访达和终端就能搞定。手动做不到的有三件事:一次测完整块磁盘而不是逐个文件夹地猜;在删除 之前 被告知你选中的文件夹里有 SSH 密钥或未推送的 git 历史;以及事后撤销。最后一点才是真正的缺口: rm 是不可逆的,而 Bytesweep 会把东西移到还原点,七天内一键即可恢复。如果你享受这个下午,那就留下这些路径,不用装应用。
