开发者的 Mac 上,「系统数据」到底被什么占了

开发工具在 macOS 上把几十个 GB 藏在哪:Xcode、包管理器缓存、模拟器、Docker 和本地快照,以及逐项测量的命令。

「系统设置」里的储存空间条,会把它分不了类的东西统统归进「系统数据」。在开发者的 Mac 上,这一块大多是你家目录里的工具缓存,而不是操作系统本身。

把常见的几处量一遍

du -sh ~/Library/Developer ~/Library/Caches ~/Library/Containers \
       ~/.npm ~/.cache ~/.gradle ~/.m2 ~/.cargo ~/go/pkg 2>/dev/null | sort -h
位置是什么用什么清
~/Library/DeveloperXcode DerivedData、Archives、设备支持、模拟器见 Xcode 指南
~/Library/Caches应用缓存,以及 Homebrew、pip、Yarn、JetBrains 等工具自带命令的用命令(brew cleanup、pip cache purge)
~/.npm ~/.cachenpm 缓存;uv、Puppeteer、Playwright 等很多工具npm cache clean --force、uv cache prune
~/.gradle ~/.m2Gradle 缓存与 Maven 本地仓库删除 ~/.gradle/caches,下次构建会重新下载依赖
~/.cargo ~/go/pkgCargo registry、Go 模块缓存cargo cache -a(需要 cargo-cache)、go clean -modcache
~/Library/Containers/com.docker.dockerDocker 的磁盘镜像docker system prune,见 Docker 指南

时间机器的本地快照

tmutil listlocalsnapshots /

macOS 会保留本地快照,并在空间紧张时自己清理,所以一般不用管。但它能解释为什么有时删了一个大目录,空间却没有马上回来。

这些不是缓存

~/.ollama、~/.cache/huggingface 里的模型权重,Python 虚拟环境,~/Library/Application Support/MobileSync 里的 iPhone 备份,以及 ~/Library/Mobile Documents(iCloud)下的一切,都很大、看起来像垃圾,但删掉会丢真实数据,或者赔上几个小时的下载。

Siftaway 怎么处理

一次扫描覆盖上面所有位置,按体积排序,说明每一处属于哪个工具、重建代价是什么,并把「不是缓存」的那一组明确标为受保护,而不是拿出来让你删。