「システムデータ」は分類ではなく、余りもの
macOSは分類できるものをアプリケーション、書類、写真、ミュージックなどに振り分けます。分類できなかったものが、すべて1つの入れ物に落ちます。以前のバージョンではこれを「その他」と呼んでいました。システムフォルダでもなければ保護もされておらず、その多くはそもそもOSですらありません。開発者のMacでは、大半があなた自身のツール類です。
数字が決して一致しない理由
Finderの数字と、実際に解放できる量が食い違う原因は3つあります。 パージ可能領域 は使用中として数えられますが、macOSは回収可能とみなしているため、直接は削除させてくれません。 オンラインのみのiCloudファイル は容量を占めていないのに、フルサイズで数えられます。そして APFSの圧縮とハードリンク により、ファイルの論理サイズとディスク上のサイズは別の数字になります。Finderが見せるのは一方で、 du が見せるのはもう一方です。
まず本当の数字を確認する
何かを削除する前に、パージ可能領域も含めてディスク自身が報告する内容を見てください:
diskutil info / | grep -E "Free|Available"
df -h /
実際に入っているもの
サイズ順で並べたときによくある10項目です。どれも自分で開ける実在のフォルダです。
Time Machineのローカルスナップショット
Time Machineをオフにしていても内蔵ドライブに保存される、1時間ごとのスナップショット。たいてい最大の一角でありながら、いちばん見つけにくいものです。Finderがファイルではなくパージ可能領域として報告するからです。
tmutil listlocalsnapshots /
XcodeのDerivedData、アーカイブ、デバイスサポート
ビルドの中間ファイルとシンボルキャッシュ。現役開発者のMacで20〜60 GBは普通です。
~/Library/Developer/Xcode/DerivedData
~/Library/Developer/Xcode/iOS DeviceSupport
iOSシミュレータのランタイム
シミュレートするiOSバージョンごとにOSイメージが1つ、さらにXcodeがもう使えない端末も。
~/Library/Developer/CoreSimulator/Devices
iPhoneとiPadのバックアップ
バックアップ1回につき日付付きのフォルダが1つ。もう持っていない端末のものが複数残っていることもよくあります。
~/Library/Application Support/MobileSync/Backup
Dockerのディスクイメージ
すべてのイメージ・コンテナ・ボリュームを収めた1つのファイル。膨らむ一方で、自分では決して縮みません。
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
それとも、10個すべてを実数付きで見ますか
大変なのは一覧を知ることではなく、測ることです。どれも別々のコマンドが必要で、半分はFinderと食い違うサイズを報告します。Bytesweepは灰色の帯を約10秒で開き、Time Machineスナップショットを1クリックで間引き、掃除したものはすべて7日間取り消せる復元ポイントに入れます。
アプリのキャッシュとコンテナ
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スナップショットを1クリックで間引きます。掃除したものはまず復元ポイントに入るので、取り消しは7日間1クリックです。
関連: Macの空き容量を増やす方法 · ディスク容量アナライザ
よくある質問
システムデータはまるごと削除できますか?
削除できるものは存在しません。それはフォルダではなく、棒グラフに付いたラベルです。削除するのは中にある個々のものであり、その一部はアプリが必要とするファイルです。だから答えはいつも「開いて見る」であって、「まるごと消す」ではありません。
なぜ私のMacではシステムデータが150 GBもあるのですか?
開発者のMacなら、たいていXcodeとDockerとローカルスナップショットの合計で簡単にそこまで届きます。写真とメールに使っているMacなら、ローカルスナップショット、メールの添付、iPhoneバックアップの組み合わせであることが多いです。
消してもまた増えるのはなぜですか?
中身のほとんどがキャッシュだからです。XcodeのDerivedDataを消せば次のビルドまで40 GB空きます。ローカルスナップショットは1時間以内に戻ります。それは不具合ではなく、そのフォルダの役割です。大事なのは、合計を自分が許容できる範囲に保つことです。
macOSを再インストールすれば直りますか?
丸一日かければ解消はします。このページの内容はどれも再インストールなしで消せますし、再インストールしても同じツールが同じキャッシュを作り直すので、再発は止まりません。
パージ可能領域は本当に空きなのですか?
おおむねそうです。macOSは容量が必要になったときに解放するので、Finderが空きなしと表示していても大きなコピーはたいてい成功します。ただし、起動時に空き容量を確認するツールが動かない場合には役に立ちませんし、スナップショットを自分で消す以外に任意のタイミングで解放する方法はありません。
