MATLAB Runtime コンポーネント キャッシュおよびデプロイ可能なアーカイブの組み込み
Java® を除くすべてのデプロイ ターゲットの場合、コンパイル済みアプリケーションのデータは既定でデプロイ可能なアーカイブに直接組み込まれ、実行時に一次フォルダーに解凍されます。この一次フォルダーは、MATLAB® Runtime コンポーネント キャッシュと呼ばれています。コンパイル済みアプリケーションが実行されると、デプロイ可能なアーカイブにあるファイル (CTF ファイル) は MATLAB Runtime コンポーネント キャッシュに解凍されます。Java パッケージを使用したデータ解凍については、Define Embedding and Extraction Options for Deployable Java Archiveを参照してください。
キャッシュのサイズおよび場所
既定の最大キャッシュ サイズは R2024b より前のリリースでは 32 MB であり、R2024b 以降では 1024 MB です。次の表に、コンポーネント キャッシュの既定の場所を示します。
| プラットフォーム | R2024b より前 | R2024b 以降 |
|---|---|---|
| Windows® | %LOCALAPPDATA%\Temp\%USERNAME%\mcrCache | %LOCALAPPDATA%\MathWorks\MatlabRuntimeCache\ |
| Linux® | $HOME/.mcrCache | $HOME/.MathWorks/MatlabRuntimeCache/ |
| Mac | MATLAB R2020a 以降では、キャッシュは使用されません。アプリ バンドルには、実行時に必要なファイルが含まれています。 | |
環境変数を使用した変更オプション
環境変数を使用して、MATLAB Runtime コンポーネント キャッシュの次のオプションを指定できます。
デプロイ可能なアーカイブが自動的に解凍される既定の場所を定義
トラブルシューティングの目的で、デプロイ可能なアーカイブを自動的に解凍する際に使用可能な診断エラー出力オプションを追加
MATLAB Runtime コンポーネント キャッシュ サイズをパフォーマンス上の理由により調整
これらの設定を変更するには、次のシステム環境変数を使用します。
| 環境変数 | 目的 | メモ |
|---|---|---|
| MCR_CACHE_ROOT | デプロイ可能なアーカイブの解凍場所に設定すると、この変数はユーザーごとの既定のコンポーネント キャッシュの場所をオーバーライドします。これは組み込みの .ctf ファイルのみに当てはまります。 | macOS の場合、この変数は MATLAB R2020a 以降で無視されます。アプリ バンドルには、実行時に必要なファイルが含まれています。 |
| MCR_CACHE_SIZE | 設定すると、この変数は既定のコンポーネント キャッシュ サイズをオーバーライドします。 | R2024b 以降、この変数の初期制限は 32 M (メガバイト) または 1024 M です。ただし、これは変数を最初に設定した後に変更できます。mcrcachedir コマンドの実行により、指定のファイル内に存在する .max_size ファイルを、望ましいキャッシュ サイズ制限に編集します。 |
既定の動作のオーバーライド
Java 以外のターゲットの場合は、mcc -C オプションを使用して、生成されるバイナリにデプロイ可能なアーカイブを組み込まないよう mcc に対して指示できます。ログと診断メッセージの方がはるかに視覚的なので、このオプションをデプロイ可能なアーカイブの問題のトラブルシューティングに使用することができます。
コンパイラ アプリの [設定] セクションに -c フラグを追加することによって、このオーバーライドを実装することもできます。
関数 compiler.build を使用している場合は、EmbedArchive=false オプションを使用します。
メモ
競合するラッパーとターゲット タイプを指定して mcc を実行すると、-C オプションを mcc に指定した場合と同様に、生成されるコンポーネントにアーカイブは組み込まれません。以下に例を示します。
mcc -W lib:myLib -T link:exe test.m test.c