为什么我的 Mac 储存空间会自己越来越满?
你并没有下载什么大文件,可用空间却一直在减少:这周少了几 GB,下周又少了几 GB。
一句话:很少是某一个大文件造成的,而是几样不打招呼就会变大的东西:本地 Time Machine 快照、应用缓存、交换文件、聊天应用的媒体、iPhone 备份、“照片”和 iCloud 的下载,以及开发者工具。“系统设置”›“通用”›“储存空间”只显示今天的总量,看不出变化了什么,所以要测两次再比较。
Mac 上有哪些东西会自己变大?
- 本地快照:备份磁盘不在身边时,Time Machine 会把快照保留在 Mac 上。用
tmutil listlocalsnapshots /列出它们。 - 交换文件:内存不够用时写到磁盘上的内存内容。
sysctl vm.swapusage可以显示有多少。 - 缓存:在
~/Library/Caches中,应用会让它一直变大,直到 macOS 需要空间为止。 - 聊天应用:WhatsApp、Telegram 和“信息”会保存别人发给你的每一张照片和每一段视频。
- iPhone 和 iPad 备份,以及“访达”下载的软件更新。
- “照片”和 iCloud 云盘下载原始文件,以及“邮件”下载附件。
- 开发者工具:Xcode 的构建和模拟器、Docker、包缓存、AI 模型。
怎样找出是什么在增长?
把个人文件夹和资源库中每个文件夹的大小存到一个以今天日期命名的文件里:
du -sk ~/* ~/Library/* ~/Library/Containers/* ~/Library/Group\ Containers/* 2>/dev/null > ~/du-$(date +%F).txt
几天或一周之后再运行同一条命令。然后比较这两个文件(换成它们的日期),列出增长超过 100 MB 的每个文件夹,增长最多的排在最前(某个文件夹变大时,包含它的上级文件夹也会一起列出来,比如 ~/Library):
awk -F'\t' 'NR==FNR{a[$2]=$1;next} $1-a[$2]>100000 {printf "%d MB\t%s\n", ($1-a[$2])*1024/1e6, $2}' ~/du-2026-11-01.txt ~/du-2026-11-08.txt | sort -rn
先给“终端”开启“完全磁盘访问权限”(“系统设置”›“隐私与安全性”›“完全磁盘访问权限”),否则有些文件夹会被算成空的。
为什么可用空间会自己忽多忽少?
已用空间中有一部分是可清除的:快照、iCloud 文件的本地副本和缓存,macOS 需要空间时会把它们移除。所以可用空间可能连续几天下降,然后在重启或下载一个大文件之后又突然回升,你什么都不用做。
怎样避免它再次被填满?
- 时常接上 Time Machine 备份磁盘,这样本地快照会被清理掉。
- 在聊天应用中关闭视频的自动下载,或者设置媒体的保留时长。
- 为 iCloud 云盘和“照片”打开“优化Mac储存空间”,让较旧的文件留在 iCloud 中。
- 隔一段时间重启一次:交换文件和许多临时文件会被清掉。
- 如果某个文件夹一周接一周地变大,就查清楚是哪个应用在写入它。