Mac 上的可清除空間是什麼?
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 願意向 App 承諾多少 | Finder 的「可用」 |
| 空間依類別去了哪裡 | 系統設定 > 一般 > 儲存空間 |
可清除空間實際涵蓋什麼
可清除空間是 macOS 對壓力下可釋放空間的即時估計,來自幾個互不相干的來源:
- 本機 Time Machine 快照。 通常佔最大宗,也是刪了檔案卻好像沒騰出空間的原因。見 本機快照。
- 可逐出的 iCloud 雲碟與「照片」內容,在開啟「最佳化 Mac 儲存空間」時。本機只留佔位檔,完整複本可以重新下載。
- macOS 認為可重新產生的快取,系統可能不詢問就丟掉。
- APFS 容器內部尚未全面反映的帳務餘裕。
每一項規則都不同,所以「清出 47 GB 可清除空間」是一個事前沒人能核對的數字。它是上限,把這個數字當成可交付成果報出來的工具,是在猜。
你無法隨需清除,這是刻意設計
沒有受支援的指令能說「現在就釋放可清除空間」。macOS 在有配置需要這些區塊時才收回,這才是有用的行為:快照或已下載的雲端檔案值得一直留著,直到空間真正被需要。
所以一台回報可用空間很少的 Mac,仍可能存得下大檔或裝得了更新,因為請求本身就會觸發回收。想早點拿回空間,就去拿掉佔住它的東西,而不是去找清除開關。精簡快照是唯一能穩定推動這個數字的槓桿:
tmutil listlocalsnapshots /
tmutil thinlocalsnapshots /
sudo purge 完全是另一回事
搜尋結果一直把兩者混在一起,所以先說清楚:purge 是一條真正的 macOS 指令,跟磁碟的可清除空間毫無關係。它沖掉的是記憶體裡的檔案系統快取,把已快取的磁碟頁面從 RAM 趕出去。Apple 做它是為了基準測試,讓第二次跑測試時不會讀到熱快取。
sudo purge
它不釋放任何磁碟空間,也不刪任何檔案。它丟掉的是系統剛花時間建好的快取,接下來幾分鐘工作會變慢,因為一切都得重新從磁碟讀。健康的 Mac 沒理由跑它,排程定期跑只會賠上效能。
如果你真正想問的是記憶體而不是磁碟,去讀 記憶體壓力:那裡真正要看的是壓力,不是剩餘 RAM 有多少。
為什麼「儲存空間」設定要過一陣子才對得上
刪掉大東西之後,「儲存空間」面板常常還顯示舊數字。那個畫面裡的分類是背景行程對宗卷抽樣算出來的,不是每次變動都重算,而且好幾個分類會重疊。
這讓面板很適合作地圖,卻不適合作儀器。用它看宗卷的形貌,要用 df 或 diskutil 在變更前後對一下,才知道變更有沒有生效。
一段簡短診斷
可用空間跟預期對不上時,照這個順序,幾分鐘就能釐清。
- 記下
diskutil info /的容器剩餘空間。這是誠實的基準線。 - 跑
tmutil listlocalsnapshots /。這裡的項目能解釋大多數「刪了卻沒騰出空間」的回報。 - 檢查「照片」和 iCloud 雲碟是否開啟了「最佳化 Mac 儲存空間」。若開啟,你一部分「已使用」空間其實可逐出,一部分「可用」空間則是理論值。
- 然後才去找大檔。若前三步已經解釋了落差,你就不是檔案問題。
檢查工具適合放在哪
Mole 只回報它能證明的事:列出項目的真實磁碟佔用、它移除的任何東西的前後總量,不會對它盤點不了的可清除池許下標題承諾。當空間是被快照釘住而不是被檔案佔住時,有用的回答是把這件事說清楚,而不是秀一個更大的數字。
常見問題
該把可清除空間清到零嗎?
不需要。可清除空間多半是對你有利的工作狀態:你可能用得到的快照、能立刻開啟的雲端檔案、讓 App 保持快速的快取。把它壓到零,是拿這一切去換一個數字。
為什麼 Finder 顯示的可用空間比 df 多?
Finder 把 macOS 有把握能收回的空間算進去。df 回報的是檔案系統目前尚未配置的空間。兩者都對,只是問題不同。
外接磁碟會有可清除空間嗎?
本機快照是啟動磁碟行為,所以最大宗的來源通常不存在。外接 APFS 宗卷仍可能帶有快照,如果有東西把它們寫進去。
可清除空間代表有問題嗎?
只有在它非常大、還持續成長,同時可用空間一直縮小的時候。這種模式通常表示快照累積得比被精簡得快,快照指南裡有講。