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 ギガバイトは、二進の 299 ギビバイトです。Apple はストレージを十進の GB で報告し、df -h は二進単位を Gi と付けて出します。容量が消えたと決める前に、GB と GiB を比べていないか確認してください。
Used 列が 12Gi なのも、もう一つの驚きです。最近の macOS では、/ は封印された読み取り専用のシステムスナップショットです。自分のファイルはデータボリュームにあり、同じ APFS コンテナを共有しています。そのため、ボリュームごとの「使用済み」を足しても、コンテナの数字にはなりません。
| いま聞いている問い | それに答えるツール |
|---|---|
| いまどれだけ書き込めるか | diskutil info / のコンテナ空き容量 |
| このボリュームについてファイルシステムが報告する値 | df -h / |
| macOS がアプリに約束してよい量 | Finder の「空き」 |
| 容量はカテゴリ別にどこへ行ったか | システム設定 > 一般 > ストレージ |
パージ可能な領域が実際にカバーするもの
パージ可能な領域は、圧がかかったときに解放できると macOS が随時見積もっている容量で、互いに関係のないいくつかの場所から集められています。
- ローカルの Time Machine スナップショット。 たいてい最大の寄与分で、削除したファイルが空きを増やさないように見える原因です。ローカルスナップショット を参照してください。
- 「Mac ストレージを最適化」がオンのときの、ローカルから外せる iCloud Drive と写真のコンテンツ。 ローカルではプレースホルダで、本体は再ダウンロードできます。
- macOS が再生成可能とみなすキャッシュ。 システムは聞かずに捨てることがあります。
- APFS コンテナ内部の計上上の余裕。 まだすべての場所に反映されていません。
それぞれルールが違うので、「パージ可能な領域 47 GB を解放する」という数字は、事前に誰も検証できません。これは上限であり、それを成果として掲げるツールは当てずっぽうです。
オンデマンドではパージできず、それは仕様です
「いまパージ可能な領域を解放せよ」と言う、サポート対象のコマンドはありません。割り当てが必要になったときに macOS がブロックを回収します。これが役に立つ動きです。スナップショットやダウンロード済みのクラウドファイルは、その領域が必要になる直前まで残しておく価値があります。
空きがほとんどないと報告している Mac でも、大きなファイルを保存したりアップデートを入れたりできます。その要求自体が回収を引き起こすからです。領域を早く取り戻したいなら、パージ用のスイッチを探すのではなく、押さえているものを外します。この数字を確実に動かすレバーは、スナップショットの間引きです。
tmutil listlocalsnapshots /
tmutil thinlocalsnapshots /
sudo purge はまったく別のものです
検索結果は二つをしょっちゅう混ぜるので、先に言っておきます。purge は本物の macOS コマンドですが、ディスクのパージ可能な領域とは無関係です。メモリ 上のファイルシステムキャッシュをフラッシュし、キャッシュされたディスクページを RAM から追い出します。Apple が作った目的はベンチマークで、テストの 2 回目が温かいキャッシュから読まれないようにするためです。
sudo purge
ディスク容量は増えず、ファイルも消しません。システムが時間をかけて作ったキャッシュを捨てるので、すべてをディスクから読み直すあいだ、その後数分の作業は遅くなります。健全な Mac で実行する理由はなく、定期実行しても性能を削るだけです。
本当に知りたいのがディスクではなくメモリなら、代わりに メモリプレッシャー を読んでください。そこで効く数字はプレッシャーであって、空き RAM の量ではありません。
ストレージ設定がなかなか一致しない理由
大きなものを消したあと、ストレージ画面はしばらく古い数字を出し続けます。あの画面のカテゴリは、変更のたびに数え直すのではなく、ボリュームをサンプリングするバックグラウンド処理が計算しており、いくつかのカテゴリは重なっています。
だからこの画面は地図としてはよく、計器としては弱いです。ボリュームの形を見るのに使い、変化の前後では df か diskutil で、その変化が効いたかを確認してください。
短い診断手順
空き容量が予想と違うときは、この順番で数分のうちに切り分けられます。
diskutil info /のコンテナ空き容量を記録します。これが正直な基準です。tmutil listlocalsnapshots /を実行します。ここのエントリが、「消しても空きが増えなかった」報告のほとんどを説明します。- 写真と iCloud Drive で「Mac ストレージを最適化」がオンかを確認します。オンなら、「使用済み」の一部はローカルから外せ、「空き」の一部は理論値です。
- それから初めて大きなファイルを探します。最初の三ステップで差が説明できたなら、ファイルの問題ではありません。
点検ツールの立ち位置
Mole が報告するのは証明できることだけです。一覧に出すものの実ディスクサイズ、削除したものの前後合計、棚卸しできないパージ可能プールについての見出し約束はありません。領域がファイルではなくスナップショットに押さえられているときは、より大きな数字を出すより、そう伝えるほうが役に立ちます。
よくある質問
パージ可能な領域をゼロにすべきですか?
いいえ。パージ可能な領域の多くは、得になる作業状態です。必要になるかもしれないスナップショット、すぐ開けるクラウドファイル、アプリを速く保つキャッシュです。ゼロに追い込むのは、その全部を数字と引き換えにすることです。
Finder の空きが df より多いのはなぜですか?
Finder は、macOS が回収できると確信している領域を含めます。df は、ファイルシステムがいま未割り当ての量を報告します。どちらも、違う問いに対する正しい答えです。
外付けドライブにもパージ可能な領域はありますか?
ローカルスナップショットは起動ディスクの動きなので、最大の寄与分はたいていありません。外付けの APFS ボリュームでも、何かがそこに書き込んでいればスナップショットを持てます。
パージ可能な領域は問題の兆候ですか?
とても大きく、しかも空きが減りながら増え続けているときだけです。その形はたいてい、スナップショットが間引きより速く溜まっていることを意味し、スナップショットのガイドで扱っています。