Mac のシステムデータを理解して減らす
Apple メニュー > システム設定 > 一般 > ストレージ を開くと、大きな塊として システムデータ と表示されていることがあります。これはフォルダではなく、また安定した測定値でもありません。macOS がほかの表示可能なカテゴリに振り分けなかったデータの、変化し続ける分類です。そのため、ファイルを削除していなくても、インデックス作成や再分類のあとに数値が変わることがあります。Apple の ストレージのガイド では、このカテゴリをログ、キャッシュ、仮想メモリファイル、一時ファイル、フォント、アプリのサポートファイル、プラグイン、および macOS が管理するその他のランタイムリソースとして説明しています。
システムデータの正体、膨らむ理由、そして安全に縮小する方法を整理します。
システムデータに実際に含まれるもの
システムデータはひとつのフォルダではなく、カテゴリです。macOS がアプリ、書類、写真、メールに自信を持って振り分けられなかったものがすべて入ります。実際には次のようなものが含まれます。
- アプリとシステムの キャッシュ。
~/Library/Cachesと/Library/Cachesにあります。 - macOS とアプリが継続的に書き出す ログと診断レポート。
- ローカル Time Machine スナップショット。バックアップのあいだ内部ディスクに保持され、空き容量が足りなくなると自動で整理されます。
~/Library内の アプリケーションサポートファイル、コンテナ、データベース。- ダウンロード済みのシステムファイル:アップデート用インストーラ、フォントキャッシュ、ステージ済みデータ。
- メモリ負荷に応じて動的に管理される スワップと仮想メモリ。
これらは多数の場所に散らばっているため、空にできる「システムデータ」専用ディレクトリはありません。ストレージ設定が推定して分類しています。df、Finder、APFS ツールの結果が食い違うこともあります。論理ファイル、物理割り当て、スナップショット、回収可能容量について、それぞれ別の問いへの答えだからです。
~/Library、/Library、/private/var、スナップショットを集約して、ひとつのストレージカテゴリにまとめます。なぜ大きくなりやすいのか
よくある成長要因は次のとおりです。
- キャッシュの保持ポリシーはさまざまです。 空き容量が必要なとき、macOS は安全なキャッシュを削除でき、行儀のよいアプリは独自の上限を設けます。それでも壊れたキャッシュや上限のないキャッシュは、ギガバイト単位まで膨らむことがあります。
- スナップショットは最近変更されたデータを保持します。 ローカル Time Machine スナップショットは、変更・削除されたファイルのブロックを残すことがあります。macOS はそれらを回収可能として扱い、容量が必要になると間引きます。
- 古いインストーラとログが溜まることがあります。 macOS のアップデート、クラッシュログ、診断アーカイブは、多くの人が確認・削除するペースより速く書き出されます。
- アプリサポートはジャンクと誤認されがちです。 ブラウザ、開発ツール、ゲーム、仮想マシン、メディアアプリは、システムデータに分類されうる Library パスの下に、実際のユーザーデータを置いています。
これらはいずれも故障の証拠ではありません。まず、物理的な空き容量が本当に不足しているかを確認してください。見た目は大きなカテゴリでも、利用可能な容量に余裕があるなら、何もする必要はないかもしれません。
安全に削除できるものと、してはいけないもの
通常は確認してから削除してよいもの: アプリが文書化しているキャッシュ、古いクラッシュレポート、不要になったインストーラ、再取得できるダウンロード。キャッシュを消すと、サインアウト、オフラインコンテンツの消失、大きな再ダウンロード、設計の粗いアプリでは未同期状態の消去につながることがあります。削除前にアプリを終了し、パスを確認してください。
触らないもの: /System 配下のすべて、APFS と Time Machine のスナップショット内部、スワップファイル、メール・メッセージ・写真などの稼働中アプリのデータベース、そしてはっきり識別できないファイル。ストレージがシステムデータに分類したというだけで、コンテナを手動編集してはいけません。
自分で測る方法
macOS は内訳を隠していますが、コマンドラインならその多くを確認できます。
df -h /
diskutil apfs list
diskutil apfs listSnapshots /
df は、マウントされたファイルシステムが使う量と空き量として認識している値を報告します。
diskutil apfs list は共有コンテナ、そのボリューム、残容量を示します。diskutil apfs listSnapshots / は起動ボリュームに付いたスナップショットを一覧します。これらを合わせると、物理割り当てと、ストレージ設定に表示されるカテゴリを切り分けられます。
空き容量が実際にどう分かれているかをイメージすると分かりやすくなります。
ローカル Time Machine スナップショットを一覧するには:
tmutil listlocalsnapshots /
実際に重い Library フォルダを探すには、du で辿ります。
du -sh ~/Library/* 2>/dev/null | sort -h
このスキャンには時間がかかることがあり、フルディスクアクセスがないと保護された場所が省略されることがあります。
Application Support はキャッシュの別名ではありません。データベース、ダウンロードしたメディア、仮想ディスク、プロジェクト状態がしばしば含まれます。
手作業で減らすには:
- 可能なら、アプリ自身の設定から、大きくて特定できたアプリキャッシュだけを削除する。
~/Library/Application Support/MobileSync/Backupから古い iOS バックアップを削除する。- 空き容量が必要になったら、Time Machine にローカルスナップショットを自動で古くするか間引かせる。
- 再起動は、アップデート適用時や固まったプロセスの診断時だけにする。スワップは自動管理され、メンテナンス対象ではありません。
ディスクマップなら、同じ計測を一覧ではなく図として示せます。 Mole の Analyze ビューは大きなフォルダをブロックで描き、Clean ビューは確認済みのカテゴリに限定します。有用なのは帰属の把握であり、システムデータというラベルを恣意的に小さな数字まで押し下げることではありません。
結果の見極め方
システムデータは正常で、動的です。カテゴリサイズの目標値ではなく、物理的な空き容量と、特定できるフォルダで Mac を判断してください。本当に空きが足りないなら、ディスクをマップし、まずユーザーが管理できる不要データを削除し、スナップショットとスワップは macOS に任せ、安全と分かっているカテゴリだけを削除してください。 Time Machine は約 24 時間ぶんの 1 時間ごとのローカルスナップショットと、空き容量が必要になるまでの最後の成功バックアップのスナップショットを保持し、 自動で削除します。したがって、コマンドに表示されたスナップショットが、使える容量を塞いでいる証拠にはなりません。 目標は使える空き容量であり、見た目だけ小さなグレーの塊ではありません。