このページは英語版ドキュメントの翻訳です。コマンド、識別子、例はそのままです。ランタイム 7.24.4 · SDK 2.6.7。 英語版
メモリ使用量
状態: 現行
範囲: 現行状態
最終確認: 2026-09-13
担当: ax-code ランタイム
AX Code は、言語サーバー、リポジトリのビルド、ブラウザ、ローカルモデルランタイムとマシンを共有します。TypeScript サーバーや Rust analyzer は、AX Code バックエンド自身より多くのメモリを使うことがあります。それらのプロセスはコード解析を提供します。音声サービスではありません。プロセスの RSS を合計すると、共有ページを複数回数えることがあります。
プロファイル
AX_CODE_MEMORY_PROFILE は auto(既定)、low、または normal を受け付けます。auto では、物理 RAM が最大 8 GiB と報告するホストは low を選び、それ以外のホストは normal を選びます。無効な値は自動検出を使います。検出は物理ホスト RAM を使い、空き RAM やコンテナのメモリ上限は使いません。制約のある VM やコンテナでは、必要に応じて low を明示的に選んでください。変数は AX Code を起動する前に設定します。すでに動いているバックエンドは再設定しません。
AX_CODE_MEMORY_PROFILE=low ax-code
PowerShell:
$env:AX_CODE_MEMORY_PROFILE = "low"
ax-code
| 振る舞い | 通常 | 低 |
|---|---|---|
| 推測的な言語サーバー起動と読み取りプリウォーム | AX_CODE_LSP_PREWARM=1 によるオプトイン |
スキップ。プリウォーム変数が設定されていてもスキップします |
| LSP クライアントごとの以前のソーステキストキャッシュ | 保持内容の計上 16 MiB | 保持内容の計上 4 MiB |
| 並行 LSP 初期化 | 既存のサーバースケジューリング | バックエンドプロセスあたり一度に 1 つの初期化 |
| 並行セマンティック操作 | 既存のサーバー予算 | バックエンドプロセスあたり待機中のセマンティック操作 2 つ、加えて既存のサーバー予算 |
| 健全なアイドル言語サーバー | 既存のライフサイクル | 5 分間アイドル後に停止の対象。約 1 分に 1 回確認します |
どちらのプロファイルでも、言語サーバーは既定で要求に応じて起動します。起動と通常のファイル読み取りは、推測的なセマンティックプリウォームを引き起こしません。明示的なセマンティックナビゲーション、診断、索引付けは、必要な解析を依然として開始するため、最初のセマンティックリクエストはより長くかかることがあります。十分な余裕のあるホストで推測的な起動と読み取りプリウォームを戻すには、起動前に両方の変数を設定します。
AX_CODE_MEMORY_PROFILE=normal AX_CODE_LSP_PREWARM=1 ax-code
推測的プリウォームを有効にするのは、正確な値 1 だけです。low は常にそれを抑制します。この設定で既存のサーバーは終了せず、LSP 起動の全体禁止でもありません。診断が必要な編集と、明示的なセマンティック操作や索引付けは、依然として言語サーバーを使います。低モードのアイドル回収は別のままです。
ソースキャッシュには 1,000 エントリの上限もあります。その計上には、保守的な文字列とキーの余裕が含まれます。V8 ヒープや RSS の上限ではありません。収まらないファイルでも、現在の内容全体を言語サーバーと同期します。キャッシュの退避は、リクエストが必要とするかもしれない間はドキュメントを閉じません。
低モードは解析を飛ばすのではなく、作業を待ち行列に入れます。初回、またはアイドル停止のあとの利用は、より長くかかることがあります。選択中または待ち行列のクライアント、保留中の基盤 RPC、診断の待機は、アイドル停止から保護されます。タイムアウトしたリクエストは、サーバー側の作業を動いたままにすることがあります。待機中の操作が 2 つでも、言語サーバー内部の計算が 2 つだけとは限りません。アイドル回収のあと、診断インベントリは劣化と印付けされます。1 つのファイルを再起動しても、以前のワークスペースの完全な網羅は証明できないためです。
これらの上限は各 AX Code プロセスの中で適用されます。合計 RAM を制限せず、別々の AX Code インスタンスを調整せず、言語サーバーのヒープに上限を設けず、コンパイラ、ブラウザ、ローカルモデルを制御しません。モデル選択、必要なプロンプトコンテキスト、検証コマンドは変わりません。
セッションと証拠の保持
TUI は、表示中のセッションについて重いトランスクリプトイベントを保持します。非アクティブなセッションは、要約、状態、保留中の承認と質問を保持します。開くと、保存された履歴を SQLite から再読み込みします。通常の表示ウィンドウは 100 メッセージで、シリアライズペイロードの予算は 16 MiB です。古い完了メッセージが先に解放されます。最新の分割できないメッセージと、回復された Undo/Restore 履歴は、ソフト予算を超えることがあります。TUI はインジケーターを表示します。これらは投影の上限であり、耐久性のあるセッション履歴やモデルコンテキストの上限ではありません。
V8 ヒープがハード上限に近づくと、トランスクリプト予算は自動で狭まります(ヒープ使用 90% で下限 2 MiB)。保持集合が、プロセスが FatalProcessOutOfMemory に達する前に減るようにするためです。80% を超えると、TUI は /compact または再起動を提案する警告も出します。圧力は完全な GC のあと回復しますが、すでに退避した履歴は再読み込みされるまで戻ってきません。
親メッセージより先に届く部分は、上限付きの保留領域(メッセージ ID 128 / 1 MiB)を使います。保留内容を解放しなければならない場合、TUI は保存履歴からの再読み込みを提示します。退避済みメッセージへの遅れたイベントは、孤立した部分を永続的に再作成できません。
証拠キャッシュは、既定で上限付きメモリです(インスタンスあたり 128 エントリ / シリアライズ値 4 MiB)。RocksDB はオプトインのままです。キャッシュバックエンドだけを変えても、モデルのツール呼び出しは減りません。証拠キャッシュ を参照してください。
バックグラウンドコマンドの出力
未読のバックグラウンド出力は、終了したすべてのシェルについて数メガバイトの JavaScript 文字列を保持する代わりに、プライベートな一時ファイルを使います。各ファイルは 2 MiB の UTF-8 リングです。その上限を超えた最も古い未読出力は破棄され、ラベルが付きます。最大 32 個のリングファイルは、プロセスあたり最大 64 MiB を予約します。ディスクスロットがいっぱいのとき、最も古い終了済みスプールは期限切れになることがあります。アクティブなシェルの所有は退避されません。読み取りは、保持された未読出力を増分で返し、そのディスクスロットを解放します。
レジストリは、セッションあたり 16、プロセスあたり 32 のアクティブシェルを許し、セッションあたり最大 16、プロセスあたり 64 の終了記録を保持します。終了出力は 30 分後に期限切れになります(アクセス時と、約 1 分に 1 回確認)。コマンドと説明の一覧は、8 KiB / 1 KiB で上限されたプレビューです。実行されたコマンドは変わりません。オブザーバー再生には、シェルあたり 64 KiB と 128 レコード、プロセス全体で 2 MiB のバイト予算という別の上限があります。不完全な再生にはラベルが付きます。
bash_output は、実際のプロセス終了状態とは別に、出力の完全性を報告します。破棄、期限切れ、または読めない出力は、コマンドが終了コード 0 で終わった場合でも、不完全な検証証拠です。これらの通知は、出力フィルターを使っているときも見えたままです。記録がないことは、すでに消費されたか退避されたことを意味することがあります。出力が使えないことは、チェックが合格した証明ではありません。
ファイルは、プロセスが所有するプライベートな一時ディレクトリ(0700)と、POSIX 上の 0600 ファイルを使います。読み取り、セッション削除、保持の掃除、通常のプロセス終了は、所有ファイルを解放します。スプールは、クラッシュに耐えるセッションストレージではありません。強制終了やクラッシュは、プライベートな一時ディレクトリを残すことがあります。プロセスをまたぐ自動回収は実装されていないため、64 MiB の上限は現在のプロセスを説明し、蓄積したクラッシュの残りを説明しません。ファイルシステムの掃除エラーは報告され、失敗したファイルのクォータ予約を解放しません。同期的で上限付きのファイル I/O は、無制限の書き込み待ち行列を避けますが、遅い一時ファイルシステムでは遅延を加えることがあります。
ワークロードを選ぶ
制約のあるホストでは、まずクラウドプロバイダー、1 つのアクティブなコーディングセッション、小さなリポジトリを使ってください。大きなビルドと追加のエージェントセッションは、マシンに余裕があるときだけ実行します。ローカル推論には、重み、KV キャッシュとコンテキスト、ランタイムオーバーヘッドのための別予算が必要です。クラウドプロバイダー向けのハードウェア案内は、それには適用されません。
通常の利用にはパッケージ済み CLI を使ってください。pnpm run dev は、起動とモジュール読み込みの費用が異なる、コントリビューター向けソースワークフローです。Activity Monitor またはプラットフォームのプロセスモニタで、AX Code を言語サーバーとビルドの子プロセスとともに調べてください。キャッシュ上限を下げても、物理メモリの固定的な削減は確立されません。
メモリの変更には、決定的な保持と意味的等価のテストがあります。物理的な 8 GB Mac での負荷テストによる適格性確認はされていません。低モードは、任意のプロジェクトが 8 GB のマシンに収まる保証ではありません。