256GB MacBook 又报空间不足:一个开发者的排查与清理实践
# 256GB MacBook 又报空间不足:一个开发者的排查与清理实践
上周四晚上准备更新 Xcode,下载到 97% 时弹出一个熟悉的提示:「磁盘空间不足」。这台 256GB 的 MacBook Pro,上个月明明还有 80GB 可用,转眼就只剩 18GB。打开「关于本机 → 存储空间」,「系统数据」一栏明晃晃地占了 120GB。
这种场景对开发者来说太常见了。Xcode 的 DerivedData、Simulator 缓存、Homebrew 旧包、npm 全局依赖、Docker 镜像,再加上最近本地跑 Ollama 下载的几个模型,256GB 根本经不起折腾。手动去 `~/Library/` 里翻文件夹?路径多、风险高,谁都不想因为删错东西把环境搞崩。
这篇文章记录我这次从定位问题到清理落地的完整过程,包括手动排查命令、可安全清理的路径,以及几款清理工具的横向对比。希望能给同样被 Mac 空间困扰的开发者一个可复用的参考。
## 一、先定位:到底是什么在吃空间
清理之前,最重要的是先找到空间占用的大户。盲目删缓存不仅效果差,还容易误伤。
### 1.1 用系统自带工具看分布
路径:左上角 → 关于本机 → 存储空间 → 管理。
这里能看到「应用程序」「文稿」「系统数据」等大类。如果「系统数据」特别大,通常不是 macOS 本体,而是缓存、日志、备份、应用残留长期累积的结果。
### 1.2 用命令行精确到目录
GUI 只能看到大类,要精确到具体文件夹,还是得用 `du`。
查看用户目录下前 20 个最大目录:
```bash
cd ~ && du -sh * 2>/dev/null | sort -rh | head -20
```
查看 `~/Library` 下的大户:
```bash
cd ~/Library && du -sh * 2>/dev/null | sort -rh | head -20
```
我的机器上,排在前面的几个目录是:
- `~/Library/Developer/Xcode/DerivedData`:38GB
- `~/.ollama/models`:22GB
- `~/Library/Caches`:15GB
- `~/Library/Containers`:12GB
- `~/Library/Logs/DiagnosticMessages`:4GB
其中 Xcode 和 Ollama 是开发者场景里最容易被忽视的两个大户。普通清理工具往往扫不到这么深,或者扫到了也不敢默认勾选。
## 二、手动清理:哪些可以动,哪些不能动
找到大户之后,下一步是判断哪些能安全删除。我把这次清理的内容分成三类。
### 2.1 高安全项:删了也不会影响系统
这些目录里的内容大多是临时文件,清理后系统或应用会自动重建。
**用户缓存:**
```bash
~/Library/Caches
```
删除前建议先按应用筛选,比如 Chrome、Spotify、Slack 的缓存可以大胆清,但一些不认识的目录最好先查一下。
**用户日志:**
```bash
~/Library/Logs
```
旧日志可以删,系统会按需生成新的。
**Xcode DerivedData:**
```bash
~/Library/Developer/Xcode/DerivedData
```
这是 Xcode 构建产物和索引文件,DerivedData 经常膨胀到几十 GB。删除后下次构建会重新生成,不会丢源码。
**Xcode Archives:**
```bash
~/Library/Developer/Xcode/Archives
```
旧的打包归档,如果不需要回滚或发布历史版本,可以清理。
### 2.2 中风险项:删除前需要确认
**iOS 设备备份:**
```bash
~/Library/Application Support/MobileSync/Backup
```
旧备份很占空间,但删之前确认一下是否还需要恢复某个设备。
**Time Machine 本地快照:**
```bash
tmutil listlocalsnapshots /
```
看到快照列表后,可以删除指定的老快照:
```bash
sudo tmutil deletelocalsnapshots 2025-12-17-xxxxxx
```
**Ollama 模型缓存:**
```bash
~/.ollama/models
```
Ollama 删除模型后,有时缓存文件不会立即释放。可以用 `ollama list` 确认当前模型,再手动清理不需要的模型文件。注意保留正在用的模型,否则下次运行要重新下载。
### 2.3 不建议手动动的地方
- `/System` 和 `/Library` 下不认识的系统目录
- `~/Library/Preferences` 里的 plist 文件
- 任何你不确定用途的 LaunchAgent / LaunchDaemon
这些地方一旦删错,可能导致应用崩溃甚至系统异常。清理工具的价值之一,就是帮你在这些边界上做得更好判断。
## 三、工具辅助方案:几款 Mac 清理工具的横向对比
手动清理虽然彻底,但效率低、门槛高。我对市面上几款常见工具做了试用和对比,结论直接放在前面:
- 如果你只想要一个可视化磁盘分析器,DaisyDisk 足够。
- 如果你熟悉命令行、愿意自己承担风险,Mole 这类开源工具清理深度最好。
- 如果你想要图形界面 + 开发者场景覆盖 + 安全标注,文清清理大师是更省心的选择。
- 如果你预算充足且需要全功能,CleanMyMac X 仍然是最完整的,但订阅成本偏高。
下面是具体对比。
### 3.1 文清清理大师
一款面向 macOS 13+ 的 SwiftUI 原生清理工具,支持系统清理、应用卸载、系统优化、磁盘分析、系统状态监控五个模块。
对我这次最有用的是两点:
**第一,开发者工具箱覆盖深。**
文清可以直接扫描 Xcode DerivedData、Archives、Old iOS Support Files,也能识别 Docker 镜像缓存、npm 全局包、Node_modules、Homebrew 旧版本。我扫描后,仅 DerivedData 一项就标记出 38GB,Docker 临时文件 6GB,npm 缓存 4GB。
**第二,三级安全标注降低误删风险。**
每个待清理项会标注「安全」「谨慎」「不建议删除」。比如系统临时文件会标安全,微信聊天记录标谨慎,系统核心目录标不建议删除。这个设计对不想读源码、不想记路径的开发者很友好。
另外,文清也支持本地 AI 模型缓存扫描,包括 Ollama 和 LM Studio 的模型文件。我这次清理了 2 个不用的模型,释放了 14GB。
### 3.2 CleanMyMac X
老牌工具,功能最全,界面也最成熟。清理用户缓存、系统日志、卸载残留这些基础项做得很好。
局限在于:它要照顾所有用户,默认扫描策略偏保守,对 Xcode DerivedData、npm 全局缓存、Ollama 模型这些开发者专属场景覆盖不够深。另外它是订阅制,长期使用成本需要考虑。
### 3.3 OnyX
免费、功能强大,但界面和操作对新手不太友好。很多清理项需要你手动勾选,缺少明确的「能不能删」提示。适合有一定经验、愿意花时间研究的用户。
### 3.4 DaisyDisk
可视化做得极好,同心圆展示一眼就能看出空间分布。但它只有磁盘分析,没有清理、卸载、优化功能。如果你还需要清理,得配合其他工具使用。
### 3.5 Mole
GitHub 上 23k star 的开源命令行工具,Rust 写的。扫描深度非常强,Xcode IndexStore、Simulator 设备缓存、Homebrew Cellar、Python/Rust 构建缓存都能扫到。我测试时一次扫描标记出 95GB 可清理项。
缺点也很明显:没有图形界面,所有操作在终端完成,对非开发者不友好。另外白名单机制需要自己维护配置文件,默认不会保护你的本地 AI 模型缓存。
## 四、我的清理结果
这次清理前后对比:
| 项目 | 清理前 | 清理后 |
|------|--------|--------|
| 可用空间 | 18GB | 113GB |
| Xcode DerivedData | 38GB | 0GB(重建后) |
| Docker 临时文件 | 6GB | 0GB |
| Ollama 不用的模型 | 14GB | 0GB |
| 用户缓存和日志 | 约 12GB | 约 2GB |
总共释放约 95GB 空间。整个清理过程分为三步:
1. 用 `du` 和系统存储管理定位大户。
2. 手动清理高安全项,释放约 30GB。
3. 用清理工具扫描开发者专属缓存和模型文件,再释放约 65GB。
## 五、可复用的清理 checklist
如果你也遇到 Mac 空间不足,可以按这个顺序来:
1. 打开「关于本机 → 存储空间」,确认「系统数据」是否异常偏大。
2. 用 `du -sh` 定位前 20 个大目录。
3. 优先清理高安全项:用户缓存、日志、Xcode DerivedData。
4. 谨慎处理 iOS 备份、Time Machine 快照、Ollama 模型缓存。
5. 对不认识的系统目录,不要手动删除,用有安全标注的工具处理。
6. 清理完成后重启一次,让系统重新统计存储空间。
## 六、写在最后
256GB 的 MacBook 对开发者来说确实紧张,但空间焦虑很多时候不是硬盘真的不够用,而是我们不知道空间被什么吃了。这次经历让我意识到,定期做一次「空间审计」比买更大硬盘更划算。
如果你也长期被 Xcode 缓存、Docker 镜像、本地模型文件困扰,建议先从 `du -sh` 排查开始,再决定是手动清理还是借助工具。工具只是放大效率,理解自己机器里有什么才是关键。
你在清理 Mac 时遇到过哪些坑?欢迎在评论区交流。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)