# Mac 上的可清除空间是什么

> 访达、df 和储存空间设置对同一块磁盘回答的是三个不同问题。可清除空间到底包含什么，为什么不能按需释放，以及 sudo purge 完全是另一回事。

Published: 2026-08-10 | Updated: 2026-08-16

Finder 说磁盘有 321 GB 可用，储存空间设置里有一条标着可清除的灰色大带，`df` 又报出一个不同单位的数字，三个都没撒谎，也没有哪个在回答同一个问题。

几乎所有「Mac 说满了，可是找不到那些文件」的问题，先是测量问题，然后才是储存问题，搞清楚每个数字在回答什么，大部分就能对上。

**简短回答：** 可清除空间是 macOS 认为有需要时可以收回的空间，主要是本地快照、可逐出的云端文件和缓存，Finder 把它算进可用，其他工具不一定这么算，没有命令能直接释放它，通常也不需要，macOS 会按需释放。

## 三个数字，三个问题

在任意一台 Mac 上跑这两条，同一卷会得到三个不同的数字。

```
df -h /
diskutil info / | grep -i "Container"
```

写这篇文章用的那台机器上：

```
/dev/disk3s1s1   926Gi    12Gi   299Gi     4%     /

   Container Total Space:     994.6 GB (994610155520 Bytes)
   Container Free Space:      321.0 GB (321045377024 Bytes)
```

`df` 说有 299Gi 可用，`diskutil` 说有 321.0 GB 空闲，其实是同一个量，321 十进制 GB 就是 299 二进制 GiB，Apple 用十进制 GB 报储存，`df -h` 打的是二进制单位并标成 `Gi`，先别急着断定空间消失了，看看是不是在拿 GB 跟 GiB 比。

`Used` 那一列写着 12Gi 是另一个意外，现代 macOS 上 `/` 是密封的只读系统快照，文件住在数据卷上，和系统快照共用同一个 APFS 容器，所以按卷统计的「已用」加起来对不上容器。

| 要问的问题 | 能回答它的工具 |
|---|---|
| 现在还能写入多少 | `diskutil info /` 的容器空闲空间 |
| 文件系统对这个卷报了多少 | `df -h /` |
| macOS 愿意向应用承诺多少 | Finder 的「可用」 |
| 空间按类别去了哪里 | 系统设置 > 通用 > 储存空间 |

## 可清除空间实际覆盖什么

可清除是 macOS 对压力到来时能释放多少空间的实时估计，来自几个互不相关的地方：

- **本地 Time Machine 快照。** 通常是最大头，也是删了文件却好像没腾出空间的原因，见
  [本地快照](https://mole.fit/zh/blog/how-to-delete-local-time-machine-snapshots-mac)。
- **可逐出的 iCloud Drive 和照片内容**，在打开「优化 Mac 储存空间」时，本地只是占位，完整副本可以再下回来。
- **macOS 认为可再生成的缓存**，系统可以不问就丢掉。
- **APFS 容器内部尚未处处反映的记账余量。**

每一项规则都不同，所以「释放 47 GB 可清除空间」是事先没法核验的数字，它是一个上限，工具把它当成交付量来报，就是在猜。

## 不能按需清除，这是设计如此

没有受支持的命令能说「现在就释放可清除空间」，macOS 在分配需要这些块时才收回，这才是有用的行为，快照或已下载的云端文件值得一直留着，直到空间真的被要走。

所以一台报出很少空闲空间的 Mac，仍然能存下大文件或装上更新，因为请求本身就会触发回收，想更早点拿回空间，就去拿掉占着它的东西，而不是找一个清除开关，精简快照是唯一能稳定推动这个数字的杠杆：

```
tmutil listlocalsnapshots /
tmutil thinlocalsnapshots /
```

## `sudo purge` 完全是另一回事

搜索结果总把这两件事搅在一起，所以先说清楚，`purge` 是一条真实的 macOS 命令，跟磁盘可清除空间没关系，它冲掉的是**内存**里的文件系统缓存，把已缓存的磁盘页赶出 RAM，Apple 做它是为了跑基准测试，让第二次跑测试不会读到热缓存。

```
sudo purge
```

它不释放磁盘空间，也不删除文件，丢掉的是系统刚花时间建好的缓存，接下来几分钟会变慢，因为一切都要从磁盘再读一遍，健康的 Mac 没有理由跑它，定时跑只会亏性能。

如果真正想问的是内存而不是磁盘，去读
[内存压力](https://mole.fit/zh/blog/mac-memory-pressure-explained)，那边真正要紧的是压力，不是空闲 RAM 有多少。

## 为什么储存空间设置要过一会儿才对得上

删掉大东西之后，储存空间面板经常还显示旧数字，那个视图里的分类是后台进程抽样算出来的，不会每次变动都重数，而且好几个分类会重叠。

所以这块面板适合当地图，不适合当仪器，用它看卷的形状，改之前改之后用 `df` 或 `diskutil` 确认改动有没有生效。

## 一段简短诊断

空闲空间和预期对不上时，按这个顺序几分钟就能理清。

1. 记下 `diskutil info /` 的容器空闲空间，这是诚实的基线。
2. 跑 `tmutil listlocalsnapshots /`，这里的条目能解释大部分「删了却没腾出空间」的报告。
3. 看看照片和 iCloud Drive 有没有打开「优化 Mac 储存空间」，开了的话，一部分「已用」是可逐出的，一部分「可用」是理论上的。
4. 然后才去找大文件，前三步已经解释了缺口，就不是文件问题。

## 检查工具适合放在哪

[Mole](https://mole.fit/) 只报它能证明的事，列出的东西用真实磁盘占用，删掉的东西给前后总量，不会对它盘点不了的可清除池做标题承诺，空间是被快照钉住而不是被文件占住时，有用的回答是把这件事说清楚，而不是报一个更大的数字。

## 常见问题

### 该不该把可清除空间清到零？

不该，可清除空间多半是有用的工作状态，可能还用得着的快照、能立刻打开的云端文件、让应用保持快的缓存，把它压到零，是拿这些去换一个数字。

### 为什么 Finder 显示的可用空间比 `df` 多？

Finder 把 macOS 有把握收回的空间也算进去，`df` 报的是文件系统当前尚未分配的量，两个都对，只是问题不同。

### 外置磁盘有可清除空间吗？

本地快照是启动卷上的行为，所以最大头通常不在，外置 APFS 卷如果有东西往上面写过快照，仍然会带着。

### 可清除空间是出问题的信号吗？

只有它很大而且还在涨、空闲空间同时在缩的时候才是，这种形态通常说明快照堆积得比精简更快，快照那篇指南会讲。

---

Canonical HTML page: https://mole.fit/zh/blog/what-is-purgeable-space-on-mac
Blog index for agents: https://mole.fit/zh/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
