Mac 儲存空間指南

Mac 容量滿了,卻什麼都沒有?

macOS 把大半答案塞進一條叫「系統資料」的灰色長條,而且不給你打開的方法。裡面沒有什麼神祕的東西 — 就是十個普通的資料夾,而且你每一個都看得到。

14 天免費試用,不必信用卡。 之後一次 15 美元,可用於 3 台電腦。不必訂閱。

Bytesweep 把 Mac 的系統資料拆解成它實際由哪些資料夾組成

「系統資料」是剩下的部分,不是一個分類

macOS 會把能分類的東西歸進「應用程式」、「文件」、「照片」、「音樂」等等。凡是分不出來的,就通通落進同一個桶子。舊版本把它叫作「其他」。它不是系統資料夾,沒有受到保護,而且其中很大一部分根本不是作業系統 — 在開發者的 Mac 上,大半是你自己的工具。

為什麼數字永遠對不起來

有三件事讓 Finder 的數字和你真正能釋放的量不一致。 可清除空間 被算成已使用,但 macOS 認為它可以回收,所以不讓你直接刪除。 僅存在雲端的 iCloud 檔案 明明不佔空間,卻以完整大小計算。而 APFS 壓縮與硬連結 使得檔案的邏輯大小與磁碟佔用大小是兩個不同的數字 — Finder 給你看其中一個, du 給你看另一個。

先確認真正的數字

在刪除任何東西之前,先看看磁碟本身怎麼回報,包括可清除空間:

diskutil info / | grep -E "Free|Available"
df -h /

裡面究竟有什麼

十個項目,依照它們通常的大小排序。每一個都是你打得開的真實資料夾。

Time Machine 本機快照

即使 Time Machine 已關閉,仍每小時保存在內建磁碟上的快照。通常是最大的一塊,也最難找到,因為 Finder 把它們回報成可清除空間,而不是檔案。

tmutil listlocalsnapshots /

Xcode DerivedData、封存與裝置支援檔

建置中間檔與符號快取。在現役開發者的 Mac 上,二十到六十 GB 很平常。

~/Library/Developer/Xcode/DerivedData
~/Library/Developer/Xcode/iOS DeviceSupport

iOS 模擬器執行環境

每個被模擬的 iOS 版本一份完整系統映像,加上 Xcode 已無法使用的裝置。

~/Library/Developer/CoreSimulator/Devices

iPhone 與 iPad 備份

每次備份一個帶日期的資料夾,常常有好幾個屬於你已經不用的手機。

~/Library/Application Support/MobileSync/Backup

Docker 的磁碟映像檔

一個檔案裝下所有映像檔、容器與磁碟區,只會變大,自己永遠不會縮小。

~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw

或者把十項連同真實數字一次看完

難的不是這份清單,而是量它們。每一項都要不同的指令,而且有一半回報的大小和 Finder 互相矛盾。Bytesweep 在大約十秒內打開灰色長條,一鍵精簡 Time Machine 快照,並把你清理掉的一切放進七天內可復原的還原點。

應用程式快取與容器

Safari、Chrome、Spotify、Slack,以及每一個沙盒應用程式。單獨看很小,加起來很大,而且幾乎全都會重新產生。

~/Library/Caches
~/Library/Containers

郵件附件

郵件在本機快取多年的下載附件。

~/Library/Containers/com.apple.mail/Data/Library/Mail Downloads

已刪除應用程式的殘骸

幾年前就離開這台 Mac 的應用程式留下的支援檔、偏好設定與啟動代理程式。macOS 從不會清掉它們。

其實不在本機的 iCloud 檔案

僅存在雲端的檔案被當成在本機一樣計算。這就是「系統資料」有時自己縮小、有時卻紋風不動的原因。

開發用套件快取

Homebrew、pip、npm、cargo 與 Gradle 各自保有一份會依需求重建的封存快取。

brew cleanup -s

安全、要小心,以及絕對別碰

可安心清除

應用程式快取、建置產物、套件管理員快取、無法使用的模擬器,以及比你最近一次備份更舊的 Time Machine 本機快照。這些都會重新產生,或者在別處也有一份。

建議先確認的

裝置備份、你可能還會用到的模擬器執行環境、模型權重,以及封存的 Xcode 建置。可以重新取得,但很慢 — 而且刪掉一份封存,也一併帶走你為那個版本的當機做符號化的能力。

絕不

位於下列位置的任何東西: /System/private/var/db、鑰匙圈,或某個應用程式此刻正開著的資料庫。在現代 Mac 上,系統卷宗是唯讀且經過簽章的,所以其中大部分會自動被拒絕 — 但 ~/Library 並未受保護,而災情正是從那裡發生。

把灰色長條拆成資料夾來看

Bytesweep 為上面每一項命名並量測,並一鍵精簡 Time Machine 快照。你清理掉的一切都會先進入還原點,所以七天內復原只要一次點按。

相關頁面: 如何釋放 Mac 的空間 · 磁碟空間分析工具

常見問題

我可以直接刪掉系統資料嗎?

根本沒有東西可刪 — 那是長條圖上的一個標籤,不是資料夾。你刪的是裡面一個個具體的東西,而其中有些是你的應用程式需要的檔案。所以答案永遠是「打開來看」,而不是「清空它」。

為什麼我的 Mac 上系統資料有 150 GB?

在開發者的 Mac 上,通常的答案是 Xcode 加 Docker 加本機快照,三者合起來輕鬆就到。在用來處理照片與郵件的 Mac 上,比較常見的是本機快照加郵件附件加 iPhone 備份。

為什麼我刪掉之後它又長回來?

因為裡面大部分是快取。清掉 Xcode 的 DerivedData,能撐到下次建置為止的 40 GB。本機快照一小時內就回來。這不是缺陷 — 那些資料夾本來就是做這件事的。重點是把總量維持在你能接受的範圍。

重新安裝 macOS 能解決嗎?

可以清乾淨,代價是一天。這一頁上的所有東西都能在不重灌的情況下清掉,而且重灌也阻止不了它回來,因為同樣的工具會重建同樣的快取。

可清除空間真的是可用的嗎?

大致上是。macOS 會在有東西需要空間時釋放它,所以即使 Finder 說沒有空間,大型複製通常仍會成功。但如果某個工具在啟動時會檢查可用空間而拒絕執行,它幫不上忙;而且除了自己移除快照之外,你無法在想要的時候讓它釋放。