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

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

Published: 2026-08-10 | Updated: 2026-09-24

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

许多“Mac 说满了，但找不到那些文件”的情况，先是统计口径问题，然后才是储存问题。

Finder 的可用空间包含物理空闲空间，以及 macOS 认为可以回收的磁盘缓存。其他工具显示 APFS 容器的不同层次，所以数字不必相同。可清除空间不是一个文件夹，也不是可靠的删除目标；另一个任务需要容量时，macOS 会回收符合条件的数据。

## 三个数字，三个问题

这两条命令分别显示卷和容器的信息，读数可能使用不同单位，先确认口径再比较。

```
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 的「可用」 |
| 空间按类别去了哪里 | 系统设置 > 通用 > 储存空间 |

## 可清除空间是一种记账分类，不是一份文件清单

Apple 的[储存空间说明](https://support.apple.com/guide/mac-help/syspf5a64aa6/mac)把可用空间定义为可用储存空间加上可清除的磁盘缓存，并说明同一部分空间可以同时计入“已用”和“可用”。macOS 没有提供一份受支持的逐文件清单，能精确加总到 Finder 显示的可清除数字。

优化储存空间后的云端内容、可重建缓存和 APFS 快照，都可能改变系统能保留或回收的容量，但它们的所有权和回收规则不同。看到其中一种，并不能证明它就是灰色数字里的最大部分。一个工具如果在真正的分配压力出现前就承诺精确释放整个可清除总量，它是在把估计值包装成自己并没有的清单。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/apfs-available-space.webp" width="1360" height="454" loading="lazy" alt="APFS 容器由物理空闲空间、可回收缓存和受系统管理的数据、已分配文件组成；Finder 的可用空间合并了空闲与符合条件的可回收空间，命令行工具则报告不同层次。">
  <figcaption>空闲、可用和已用回答不同问题。可清除空间可以同时出现在已用与可用的统计里。</figcaption>
</figure>

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

没有受支持的命令能要求系统“立刻释放所有可清除空间”。macOS 会在分配真正需要这些块时回收它们，这才符合用途：快照或已下载的云端文件，在空间被别的任务需要之前都可能仍有价值。

因此，物理空闲空间很少的 Mac 仍可能完成一次大文件写入，因为写入本身会触发回收。先从实际失败的保存、更新或复制任务，以及能确认归属的储存空间分类开始。不要仅仅因为 `tmutil listlocalsnapshots /` 列出了条目就去精简快照。Apple 说明快照空间会计入可用空间，Time Machine 也会在快照变旧或容量需要时自动删除。

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

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

```
sudo purge
```

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

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

[讲清 Mac 上的 purge](https://mole.fit/zh/blog/purge-on-mac-explained)把这个命令、可清除空间和各种 Purge 软件放在一起对照。

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

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

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

## 一段简短诊断

空闲空间和预期对不上时，按这个顺序检查：

1. 修改前同时记下 Finder 的可用空间和 `diskutil info /`。
2. 查看储存空间设置，并测量用户能控制的最大文件夹或资料库。
3. 把云端占位文件当成完整离线副本之前，先确认是否启用了“优化 Mac 储存空间”。
4. 如果 Time Machine 已启用，而且快照仍是唯一疑问，只列出快照，不删除；再对照 Apple 的[现行本地快照说明](https://support.apple.com/102154)。
5. 重新执行原本失败的写入、更新或复制。面板数字变了，不等于任务已经成功。

## 检查工具适合放在哪

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

## 常见问题

### 应该把可清除空间清到零吗？

不应该。它表示系统认为在需要时可以回收的工作状态，不是一项必须清空的库存。

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

Finder 会计入 macOS 有把握在需要时回收的容量，`df` 则报告文件系统当前的未分配状态。两者回答的是不同问题。

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

外置 APFS 卷也可能包含快照。是否可回收取决于是谁创建并管理它，仅凭 Finder 的标签无法确认。

### 可清除空间是故障信号吗？

不是。应当诊断的是失败的保存、复制或更新。没有失败任务时，一个较大的可清除数字可能只是 macOS 在真正需要容量前保留有用数据。

---

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
