系统数据
又称:“其他”储存空间
简要回答
“系统数据”是Mac储存空间设置中的一个类别,用来存放macOS没有归到其他地方的文件:缓存、日志、本地时间机器快照、交换文件,以及App保存在资源库文件夹中的数据。在macOS Monterey之前,它叫作“其他”。
打开“系统设置”→“通用”→“储存空间”,顶部的条形图会把磁盘分成“应用程序”“文稿”“照片”“macOS”等几类。把这些都算完,剩下的就是“系统数据”。这就是为什么它可能从10 GB到远超100 GB不等,也是为什么“储存空间”面板不能像列出“文稿”那样列出其中的内容。
“系统数据”很大并不是故障。其中一部分是macOS需要的工作空间,一部分是磁盘空间不足时macOS会自行释放的空间,还有一部分是App保存着却从不清理的数据:虚拟机、容器磁盘、模拟器映像、旧的设备备份。几十GB的空间通常就在最后这一类里,也只有这一类值得手动删除。
“系统数据”里通常有什么
每台Mac的内容都不一样,但大部分空间都被同样几样东西占着。
- 本地时间机器快照,也就是保存在启动磁盘上的近期更改副本。在笔记本电脑上,它往往是最大的一块。
- 交换文件和睡眠映像,它们随内存占用增长,重新启动后会缩小。
- macOS和每个App的缓存与日志。大多数都很小,删除后会重建。
- 资源库文件夹中的App数据:虚拟机磁盘、容器镜像、邮件下载的内容、聊天App的媒体文件。
- Xcode不认领的开发者数据,比如模拟器运行时和软件包缓存。
- macOS已下载但尚未安装的更新。
哪些可以安全删除,哪些不行
可以安全删除:你叫得出名字、并且不再需要的数据。旧的iPhone和iPad备份(访达→该设备→“管理备份”)、用完的虚拟机、可以重新拉取的容器镜像、不再测试的模拟器运行时,以及备份磁盘已有近期副本后的本地快照。
不要动:交换文件、睡眠映像,以及/System、/private/var或/Library下你不认得的文件夹。这些由macOS自行管理,删除它们可能导致App或macOS无法正常工作,直到它们被重建。清理App删除的大多是缓存,而缓存几天之内就会回来。数字会暂时下降,原因却还在。
如何找出是什么占用了空间
“储存空间”面板打不开“系统数据”,但访达和“终端”可以测量构成它的那些文件夹。从你自己的资源库开始,大多数App数据都存放在那里。
- 在访达中选取“前往”→“前往文件夹”,键入
~/Library,然后按下Return键。 - 切换到列表视图(⌘2),选取“显示”→“查看显示选项”,打开“计算所有大小”。点按“大小”列按它排序。大文件夹需要一点时间才能显示出大小。
- 打开最大的几个文件夹。Containers、Application Support、Developer和Caches是常见的地方,以某个App命名的文件夹会告诉你是哪个App占着空间。
- 要在“终端”中得到一份列表,运行
du -sh ~/Library/* 2>/dev/null | sort -h | tail -15。它会输出资源库中最大的15个文件夹,最大的排在最后。有些文件夹只有在“系统设置”→“隐私与安全性”中给“终端”授予“完全磁盘访问权限”后才能读取。 - 运行
tmutil listlocalsnapshots /,查看本地时间机器快照。每一行是一个快照,它们加起来可能占用几十GB。
常见的大块头,以及如何逐一删除
弄清楚它是什么之后,用生成它的工具来删除,而不是把它的文件夹拖到废纸篓。App自己的工具知道哪些文件是一组的,也能让其余部分照常工作。
- 旧的iPhone和iPad备份:在访达中选择该设备,点按“管理备份”,删除你不需要的那些。
- 本地时间机器快照:macOS会把每个快照保留大约一天,磁盘空间不足时会更早删除。要现在就删除一个,用
tmutil deletelocalsnapshots并加上列表中该快照的日期。 - Docker:它的容器和镜像都放在一个磁盘映像中。运行
docker system prune删除不再使用的内容,并在Docker Desktop的设置中调低磁盘大小上限。 - Xcode模拟器:运行
xcrun simctl delete unavailable,删除那些运行时已不再安装的模拟器,并在Xcode的设置中删除你不再测试的运行时。 - 虚拟机:在运行它们的App中(比如Parallels、VMware Fusion或UTM)删除你用完的虚拟机。
为什么这个数字会自己变化
“系统数据”并不是一堆固定的文件。快照随每次备份生成和删除,交换文件在内存吃紧时增长、重新启动后被删除,缓存则随着你的工作被填满又清空。“储存空间”面板重新计算也需要一段时间,所以清理后立刻看到的数字可能还是旧的。
要观察几天,而不是几分钟。在10 GB上下起伏,是macOS在正常工作。只涨不跌,则说明有某个App不断添加数据却从不删除,资源库中的文件夹会告诉你是哪一个。
常见问题
Mac上的“系统数据”是什么?
它是储存空间条形图中的一部分,用来存放macOS没有归入其他类别的文件:缓存、日志、本地时间机器快照、交换文件,以及App保存在资源库文件夹中的数据。在macOS Monterey之前,它叫作“其他”。
为什么“系统数据”这么大?
通常是因为一两个大块头:本地时间机器快照、虚拟机或容器磁盘、模拟器运行时,或旧的设备备份。缓存和日志加起来很少超过几GB。
我可以删除“系统数据”吗?
不能整体删除,也不能在“储存空间”面板中删除。你可以删除其中你认得的大块内容,比如旧备份、虚拟机和本地快照。你不认得的系统文件夹就别去动。
重新启动Mac能减少“系统数据”吗?
能减少一点。重新启动会删除交换文件和一些临时文件,在一台连续运行了几周的Mac上,可以释放好几GB。但它不会动快照、备份、虚拟机或App数据,而这些通常是更大的部分。
为什么macOS更新后“系统数据”变大了?
更新可能会留下下载的文件、安装前拍下的快照,以及之后重建的缓存。其中大部分会在几天内被macOS清除。如果没有,就用tmutil listlocalsnapshots /查找本地快照。
相关条目
分步指南:Mac为什么这么卡。
想找比活动监视器更好的工具?请看Mac上最好用的活动监视器替代品,或者浏览术语表中的所有条目。