概要
TraceはmacOS向けのStorage Inspector + Uninstallerです。いわゆる「クリーナー」とは違い、何が容量を使っているかを透明に示し、プレビュー・根拠・Undoでコントロールしながら操作できます。
Traceでできること
- 見える化:ストレージ使用量を分かりやすいカテゴリに分解
- 紐付け:アプリデータ(コンテナ、キャッシュ、設定など)を該当アプリに関連付け、根拠を提示
- 安全に操作:プレビューと隔離(Quarantine)で、アプリと残り物を削除(完全削除は最後に)
クイックスタート
- ダッシュボード:大きいカテゴリ(アプリ/システムデータ/ファイル)から確認します。
- 詳細:各カテゴリの「Top Items」タブで大きいフォルダ/ファイルを見つけます。
- インスペクタ:アプリ/ゲームインスペクタで残り物を根拠付きで確認します。
- 安全第一:まず隔離(Quarantine)とUndo。完全削除は確信してから。
重要(事故を防ぐために)
- バックアップ:大きい削除操作の前に、最新のTime Machineバックアップを推奨します。
- 共有データ:共有フォルダ(例:Office/Adobe)は明確にラベル付けされ、デフォルトでは選択されません。
- システム領域:システム/スナップショット関連の変更は元に戻せず、確認が必要です。
現在の動作ハイライト
- 隔離(Quarantine):一部成功でも現在のフローを閉じてダッシュボードへ戻ります。長時間処理では約350ms後に件数+バイト進捗を表示します。
- ファイル → ストレージを解放:件数/バイトの動的進捗、アップロード準備確認、eviction後のcloud-only検証、エラーなし時のみ自動クローズ。
- ディレクトリインスペクタ:高速な初期スキャン後に正確サイズを段階的に補完(保留中は
Calculating…表示)、Finderからのドラッグ&ドロップ対応。 - システムデータ:ゴミ箱を空にする処理は2パス削除・helperフォールバック・一貫した再スキャンで堅牢化されています。
- アプリ:一覧は最初からサイズ順を維持し、直接アクションで App Inspector / アンインストール / ゴミ箱へ移動 を実行できます。
ストレージの計測
Traceはファイル単位でサイズを計測し、2つの値を区別します。
実使用量
ディスク上で実際に占有している容量です。ブロックサイズやAPFSの最適化(クローンなど)を考慮します。「本当に減る」のはこの値です。
論理サイズ
物理的な保存方式を考慮せず、ファイル内容の合計で見たサイズです。重複やAPFSクローンでブロックを共有している場合、差が出ます。
Traceはデフォルトで「実使用量」を表示します。これはディスク上で実際に占有している容量に対応するためです。「論理サイズ」はコンテキストとして役立ちます(例:APFSクローンや大きなライブラリ)。
macOSとの違い
TraceをmacOSのシステム設定(ストレージ)と比較すると、違いが出ることがあります。これは意図した挙動です。
| 観点 | macOS | Trace |
|---|---|---|
| カテゴリ | 内部ヒューリスティック(非公開) | 明確なルールを持つ、透明なカテゴリ |
| システムデータ | 大きな「ブラックボックス」 | キャッシュ/ログ/コンテナ/スナップショット等に分解(可能な範囲で) |
| APFS Features | 一部が見えにくい | スナップショット、クローン、スパースファイルを明示 |
| 計測 | 速いが粗い | ファイル単位でより精密(大きいボリュームは時間がかかる) |
合計が一致しない理由
Traceのカテゴリ合計は、システム設定の「使用済み」と完全には一致しない場合があります。主な理由:
- APFSのメタデータや予約領域
- 権限の差(Traceが読み取れない領域)
- カテゴリ分けの違い
Traceは主な理由を説明しますが、システムの都合上、少しだけファイル単位に落とし込めない分が残ることがあります。
アプリ
/Applications、~/Applications、およびシステムアプリにある、インストール済みアプリが対象です。Traceはアプリのバンドルだけでなく、関連するアプリデータも表示します。
含まれるもの
- アプリバンドル(.app)
- コンテナ(
~/Library/Containers/<bundleID>) - 共有コンテナ(
~/Library/Group Containers/…) - キャッシュ、設定、ログ、Saved State
- Application Supportフォルダ
容量の大きいアプリをアプリインスペクタで開き、まずは「Cache」から始めてください。ユーザーデータに触れる前の、いちばん安全な入口になりやすいです。
よく大きくなる項目
- Application Support:ライブラリ、ダウンロード、アセット(例:Adobe/Microsoft/メディア系ツール)
- キャッシュ:ブラウザ、クリエイティブツール、メッセンジャー
- 共有コンテナ:アプリ間で共有されるデータ(スイート系)— 取り扱い注意
「アプリ」タブ
インストール済みアプリをサイズ順に表示し、アプリインスペクタへ直接開けます。
ファイル
ユーザーの書類やダウンロードなど、あなた自身のファイルが対象です(iCloud DriveやDropbox/OneDriveなどのクラウドドライブも含む)。Traceは、実際にローカルで容量を使っているものと、クラウドのみのものを区別して表示します。クラウドのデータを消さずに、ローカル容量を解放できます。
対象パス
~/Desktop,~/Documents,~/Downloads,~/Public- ホーム直下の他のトップレベルフォルダ(Library/Pictures/Movies/Musicを除く)
- iCloud Drive (
~/Library/Mobile Documents/com~apple~CloudDocs) - Cloud Storage(Dropbox、OneDriveなど:
~/Library/CloudStorage経由)
クラウド状態
Traceは、ファイルがローカル/クラウドのみ/混在のどれかを判別します。「空き容量を増やす」で、クラウドのデータを削除せずに、ローカルのオンデマンドコピーだけを削除できます。
Traceはローカルコピー(オンデマンド)だけを削除し、iCloud/クラウドドライブ上のデータは保持します。規模によっては準備に数分かかる場合があります。
実用的なヒント
- 大きいフォルダは、ディレクトリインスペクタで階層を追いながら原因にたどり着けます。
- 手早く空きを作るなら、Downloadsや大きいアーカイブ/インストーラから。
メディア
写真・動画・音楽のライブラリは、あっという間に二桁GBになります。多くはバンドル(フォルダのように見える「ファイル」)として保存されます(例:写真ライブラリ、Final Cut Pro、Logic)。Traceはこれらのライブラリを検出し、占有容量を分かりやすく表示します。うっかりライブラリ全体を消してしまう前に、どこを整理すべきかが分かります。
対象パス
~/Pictures,~/Movies,~/Music- Libraries/Packages:
.photoslibrary,.fcpbundle,.imovielibrary,.logicx,.band - システム全体のライブラリ(GarageBand、Logic)
写真/動画ライブラリは、バンドル(フォルダのように見える「ファイル」)であることが多く、削除するとライブラリ全体が消える可能性があります。Traceは見つける/理解するのを助けますが、削除は本当に不要なものだけにしてください。
ゲーム
ランチャー(例:Steam)のゲームライブラリを、アセット/MOD/セーブデータまで含めて扱います。
Traceがゲームを検出する方法
- マニフェスト/マーカーファイル:ランチャーのマニフェスト(例:Steamの
steamapps/appmanifest_*.acf)を利用して、インストール済みゲームを確実に検出します。 - ライブラリフォルダ:実データは通常、ランチャーのライブラリディレクトリ(例:
~/Library/Application Support/Steam/steamapps)や別ボリューム上にあります。 - ゲームインスペクタ:検出したゲームは、通常のアプリ(.app)とは別の項目として表示されます。
補足:ランチャーのライブラリを使わず、通常のアプリとしてインストールされているゲームは、環境によっては「アプリ」側に表示されることがあります。
よく大きくなる項目
- インストールアセット:ランチャーのライブラリにあるゲームデータ(数十GBになることも)
- MOD/Workshop:時間とともに増える追加コンテンツ
- キャッシュ:シェーダー/ダウンロードキャッシュ(多くは再生成可能ですが時間はかかります)
「ゲーム」タブ
検出したゲームをサイズ付きで表示します。各タイトルからゲームインスペクタを開き、アセット/MOD/キャッシュ/セーブなどを整理できます。
「ファイル」タブ
ゲームライブラリ内の大きいフォルダ/ファイルを一覧表示します。リスク表示により、キャッシュ/ダウンロードとセーブデータ/MODを見分けられます。
コミュニケーション
メールやチャットアプリは、添付ファイル、メディア、データベースをローカルに保存しがちです。アプリ上では「オンライン」に見えても、実際は端末に溜まっていることがあります。Traceはこうした容量の原因を可視化し、何に属しているかを示します。アプリによってはローカルDBを直接使うため、削除は特に慎重に行ってください。
対象パス
~/Library/Mail(Apple Mail)~/Library/Messages(iMessage)- サードパーティ:コンテナ/共有コンテナ経由
ここで扱うもの
- 添付ファイル:メール/チャットの大きな添付は容量を圧迫します。
- オフラインキャッシュ:メッセンジャーは、クラウドに見えてもメディアをローカル保存することがあります。
- 注意:削除によりアプリ内のデータ(ローカルコピーやDB等)が消える可能性があります。
開発
ビルド成果物、シミュレータ、ツールチェーン、パッケージキャッシュは、Xcodeに限らずすぐに大容量になります。多くは再生成可能で、クリーンアップ後にまた増えることもあります。Traceは「消してよいもの」と「残したほうがよいもの」を見分ける手助けをします。
対象パス(例)
~/Library/Developer(Xcode, Simulatoren)~/Library/Caches/org.swift.swiftpm~/Library/Application Support/Code(VS Code)~/.vscode/extensions~/Library/Application Support/JetBrains
~/.android(Android SDK)/opt/homebrew,/usr/local~/.gradle,~/.m2,~/.npm~/.cargo,~/.rustup~/.pub-cache,~/.composer
よく大きくなる項目
- Xcode:DerivedData、シミュレータ、Device Support
- ツールチェーン:Homebrew、Dockerイメージ、パッケージキャッシュ(npm、Gradle、Maven、Cargo…)
- IDE:VS Code/JetBrainsのキャッシュやインデックス
多くは再生成可能ですが、再構築に時間がかかる場合があります。Traceは大きい項目を見つけ、納得して判断できるようにします。
Homebrew
開発カテゴリの詳細には Homebrew タブがあります。インストール済みの formula と cask を一覧表示し、brew uninstall を実行して個別にアンインストールできます(ライブ出力付き)。
- 検出:
/opt/homebrew/bin/brewと/usr/local/bin/brew(ベストエフォート)。 - アンインストール:パッケージを選択して アンインストール … をクリックします。
システムデータ
macOSは「システムデータ」に多くをまとめます(キャッシュ、ログ、コンテナ、メタデータ、スナップショットなど)。Traceはこのブラックボックスを、可能な範囲で分解して説明します。権限やシステム状態によっては、一部の領域が部分的にしか見えない場合があります。
「ファイル」タブ
大きいシステム領域の「最上位」を表示します(可能な範囲で)。タイプ/リスクのヒントも付きます。
~/Library(他カテゴリ向けの除外あり)/Library/System/private/var/usr/Users/Shared
まずは「ファイル」タブから始め、フィルタ(例:キャッシュ/コンテナ/バックアップ)を使って大きい原因へ絞り込みます。やみくもに削除せず、根拠/タイプを見て判断してください。
「スナップショット」タブ
APFSスナップショット(System + Dataボリューム)を、可能な範囲でサイズ付きで表示します。スナップショットの削除には管理者権限と確認が必要です。
「Kexts」タブ
/Library/Extensions と /Library/StagedExtensions のカーネル拡張(必要に応じてmacOSのKextも)を一覧表示します。提供元、セキュリティ状態、紐付けを表示します。隔離(Quarantine)への移動や削除が可能なのは、サードパーティのKextのみです。
その他
どのカテゴリにも明確に紐付けできないパスの寄せ集めです。主にホーム内の未分類フォルダ(dotfiles含む)や、既知スキャナ外のLibrary残骸などが該当します。Traceは大きいフラグメントを一覧化し、整理の判断を助けます。
含まれるもの
- 開発系dotとして検出されなかったホーム内のdotfiles/dotfolders
- 既知スキャナ外のLibrary残骸(可能な範囲で)
「フラグメント」タブ
- 表示:混在/ディレクトリ/ファイル
- サイズ順(大きい順)
- 詳細はディレクトリインスペクタで(ドリルダウン)
ツールキャッシュを空にする
Traceはホーム内の典型的なツールキャッシュ(例:~/.cache、~/.npm、~/.gradle)を空にできます。これらはヒューリスティックに検出されます。
- おすすめ:まず隔離(Quarantine)に移動(Undo可能)
- 容量が実際に空くのは、隔離セッションを完全に削除した後です
「その他」が大きいときは?
- まずフルディスクアクセスが不足していないか確認してください(ない場合、スキャンは意図的に不完全になります)。
- 表示メニューで「ディレクトリ」や「ファイル」に切り替えると、大きい項目を見つけやすくなります。
- うまく紐付けできないボリュームの差分(APFS/スナップショット/オーバーヘッド/権限の差など)は、ダッシュボードでは「システムデータ」に計上されます(「その他」ではありません)。
アプリインスペクタ
アプリインスペクタは、アプリに属するパスを根拠(Evidence)付きで表示します。
紐付け方法
確定的
Bundle IDベースで信頼度が高いパス:
- Containers, Application Scripts
- Caches, Logs, Preferences
- Saved Application State
- HTTP Storages
ヒューリスティック
名前/パス一致など、信頼度が低めの推定:
- Application Support(アプリ名ベース)
- ホワイトリスト化されたルート内のDeep Search
- 開発元(Vendor)固有のルール
各項目には、信頼度(%)、リスク(safe/caution/danger)、そして「なぜ?」の説明が表示されます。
高い信頼度は「確かな根拠」(例:コンテナ/Bundle ID)に基づきます。低い信頼度は意図的に保守的です。まず確認してから操作してください。
4つのクリーンアップモード
Traceには4つのプリセットがあります。これはデフォルトの選択だけを制御します。パスはいつでも手動で追加/除外できます。
Cache
再生成可能なもの:キャッシュ、ログ、Saved State、HTTPストレージ。
安全関連
Cache + 自動で復元されやすいデータ(例:再ダウンロード可能な内容や同期データ)— アプリにより異なります。
安全アプリ
アプリバンドル + Cache。設定とユーザーデータは残します。
注意すべて
アプリ + Cache + 設定 + アプリデータ。元に戻せない可能性があります。
危険複数のアプリで共有されるデータ(例:Microsoft Office、Adobe)は「Shared/Danger」としてマークされ、どのプリセットでもデフォルト選択されません。
まずは「Cache」または「関連」から。「すべて」はユーザーデータを削除する可能性があり、元に戻せない場合があります。
隔離(Quarantine)とUndo
Traceはデフォルトでデータを完全に削除しません。代わりに、ファイルを隔離(Quarantine)に移動します。
仕組み
- ユーザーパスは
~/Library/Application Support/Trace/Quarantine/…に移動します(同一ボリューム内の移動) - システム全体のパスはゴミ箱へ移動します(元に戻せます)
- 明示的に「削除」を選んだ場合のみ、ファイルは直接削除されます
- 移動後、空のディレクトリは安全なルートまで整理されます
ダッシュボードでは隔離のサイズを確認でき、復元または完全削除を選べます。
ディレクトリインスペクタ
ディレクトリインスペクタでは、用意されたカテゴリとは独立して、任意のフォルダやディスクを分析できます。
機能
- 積み重ねストレージバー:各階層のサイズ配分を色分けバーで表示(フォルダはサイズ別、ファイルはグレー)
- ドリルダウン:フォルダをクリックして下層へ移動
- サイズ凡例:実使用量と論理サイズを表示
- クラウド状態:ローカル/クラウド/混在をアイコンで表示
- コンテキストメニュー:右クリックでFinderを開く、削除 … など
- フィルタ:隠しファイルの表示/非表示
開き方
ダッシュボードの「ディレクトリインスペクタを開く …」から、または各カテゴリ画面のコンテキストメニューから開けます。
デフォルトアプリ
デフォルトアプリを1か所で管理できます。システム設定をあちこち探す必要はありません。
対応カテゴリ
- Web:デフォルトのWebブラウザ
- Mail:メールクライアント
- PDF:PDFビューア
- 書類:ワープロ
- 表計算:スプレッドシート
- プレゼン:プレゼンテーション
- 開発者ファイル:コードエディタ
- 画像:画像ビューア
- 動画:動画プレイヤー
- オーディオ:音楽プレイヤー
- テキスト:テキストエディタ
- アーカイブ:圧縮/解凍
TraceはmacOSのLaunch Services APIを使い、UTI(Uniform Type Identifiers)に対するデフォルトアプリを設定します。変更はシステム全体に適用されます。
開発元インスペクタ
開発元インスペクタには、よく使われるアプリ向けのキュレーション済みプロファイルが入っています。パス、共有データ、クリーンアップ時の扱いに関する専用ルールを持ちます。
なぜ開発元プロファイルが必要?
大手ベンダーのアプリは、Appleの慣習に沿わない場所にデータを置いたり、アプリ間でデータを共有したり、独自のフォルダ構造を使うことがあります。開発元プロファイルは、そうした「クセ」を把握しています。
対応する開発元(例)
- Adobe: Creative Cloud、Photoshop、Lightroom、Premiere など
- Microsoft: Office 365, Teams, OneDrive, VS Code
- JetBrains: IntelliJ、WebStorm、PyCharm など
- Google: Chrome, Drive, Backup & Sync
- ブラウザ: Firefox、Safari、Arc、Brave、Edge
- 開発: Xcode、Docker、Homebrew
- コミュニケーション: Slack、Discord、Zoom、Telegram
- メディア: Spotify、VLC、DaVinci Resolve
開発元プロファイルは、汎用ヒューリスティックをアプリ固有の知識で上書きします。誤った紐付けを防ぎ、見えにくいデータパスも検出しやすくなります。
共有データの警告
開発元インスペクタは、アプリ間で共有されるデータ(例:Adobe Creative Cloud Shared、Microsoft Office Shared)を検出し、「Shared/Danger」としてマークします。これらはどのクリーンアップモードでも自動選択されません。
TraceHelper & TraceAgent
Traceはアプリ本体と、macOSが別途管理するオプションコンポーネントで構成されます。これらがなくても利用できますが、一部機能は制限されます。
TraceHelper(管理者)
TraceHelperは管理者権限が必要な操作のための特権ヘルパーです。該当機能を実行したときにのみ使用されます。
- システム全体の操作:例:APFSスナップショットの削除
- システムパスの整理:例:カーネル拡張の削除(提供される場合)
- より堅牢な計測:例:「他のユーザーと共有データ」
TraceAgent(バックグラウンド)
TraceAgentは任意でバックグラウンド動作し、アプリがゴミ箱へ移動されたことを検出します。Traceはそれに合わせて、適切な削除候補を提示できます。
- 自動削除はしない:TraceAgentが勝手に削除することはありません
- 透明性:候補はTraceの紐付けと開発元プロファイルに基づきます
- 任意:Trace内でTraceAgentをオン/オフできます
- デモ:Traceのデモ版でもTraceAgentは無料で利用できます
「バックグラウンドで許可」がオフだと、TraceHelper/TraceAgentがブロックされる、または応答しないことがあります。バックグラウンドでの実行を許可を参照してください。
権限
Traceをフルに活用するには、いくつかの権限が必要です。
| 権限 | 目的 | なしの場合 |
|---|---|---|
| フルディスクアクセス | 完全なストレージ分析(全カテゴリ) | 結果は「不完全」として明示 |
| 管理者(ヘルパー) | システム全体の操作、スナップショット削除など | ユーザー範囲の操作のみ |
| バックグラウンドでの実行 | TraceHelper/TraceAgentの起動・バックグラウンド実行 | Helper/Agentがブロックされる(タイムアウト/エラー) |
フルディスクアクセスを有効にする
- システム設定 → プライバシーとセキュリティ → フルディスクアクセス を開きます。
- 一覧に Trace がない場合:
+をクリックして/Applicationsから追加します。 - 一覧で Trace をオンにします。
- Traceを再起動し、分析が完全に行われるようにします。
ヘルパーをインストール
- Trace内で:設定 → 権限(Permissions) → ヘルパーをインストール。
- macOSのダイアログを承認します(管理者パスワード/Touch ID)。
- これで、スナップショット削除などのシステム全体の操作が利用できます。
TraceAgentを有効にする
- Trace内で:設定 → 権限(Permissions) → TraceAgent をオンにします。
- macOSが確認を求める場合は、ログイン項目を開き、バックグラウンドで許可 の下で Trace をオンにします。
- これでTraceAgentがバックグラウンドで動作し、候補を表示できます。
バックグラウンドでの実行を許可
- システム設定 → 一般 → ログイン項目 を開きます。
- バックグラウンドで許可 の下で Trace をオンにします。
- オフだと、TraceHelper/TraceAgentが起動できない、または応答しない場合があります(例:「Operation not permitted」/タイムアウト)。
- ここをオンにしてもTraceAgent自体が自動で有効化されるわけではありません。Trace内でオン/オフできます。
システム設定でTraceのバックグラウンド実行が無効になっていると、TraceHelper/TraceAgentが起動できない、または応答しないことがあります。
APFSスナップショット
APFSはTime Machine、アップデート、その他のシステム処理のために、自動的にスナップショットを作成します。これが大きな容量を占有することがあります。
Traceが表示するもの
- System/Dataボリュームのスナップショット
- 可能な範囲でのサイズ(APFSでは正確なサイズ算出が複雑です)
- タイムスタンプと由来(Time Machine、OSアップデートなど)
スナップショットの削除
スナップショットの削除は不可逆です。TraceはOS/アップデート関連のスナップショットについて警告を表示し、管理者の確認を要求します。スナップショットを削除 …アクションはOS/アップデート関連スナップショット(例: macOSアップデートスナップショット)を除外し、回収可能なローカルスナップショットのみを削除します。