Claude Media
Claude CodeをIntelliJの複数プロジェクトで使うとメモリが膨らむ件

Claude CodeをIntelliJの複数プロジェクトで使うとメモリが膨らむ件

IntelliJ IDEAを2ウィンドウ開き、それぞれでClaude Codeを動かすとメモリ警告が出る報告があります。どこまで分かっているかと、食っているのが誰かを切り分ける手順をまとめます。

IntelliJ IDEAで2つのプロジェクトを別ウィンドウで開き、両方でClaude Codeを動かすと動作が重くなり、IDEが「メモリ不足」の警告を出す。この報告はGitHubのissue #12940にあります。原因の特定には至っておらず、直った版もありません。

ここでは、報告に書かれていることと書かれていないことを分けたうえで、手元で「誰がメモリを食っているのか」を切り分ける手順を並べます。

issue #12940に書かれていること

報告者の環境は次のとおりです。

項目内容
OS / ハード内容macOS 26.1、MacBook Pro M4
IDE内容IntelliJ IDEA 2025.2.5(Ultimate)
Claude Code内容2.0.57
モデル内容Sonnet(既定)
起動場所内容IntelliJ IDEAのターミナル

再現手順は3行です。別々のIntelliJウィンドウで2つのプロジェクトを開き、両方でClaude Codeを起動し、それぞれで使います。すると動作が遅くなり、IDEに次の警告が出ます。

The IDE is running low on memory and this might affect performance. Please consider increasing the heap size.

issueのラベルは bug / has repro / platform:macos / area:ide / memory / perf:memory です。

コメントは4件ありました。

  • 2025年12月3日: 重複候補として3件のissueを挙げる自動コメント
  • 同日: Anthropicの担当者が、最近の回帰か、IDEの外でも同じ高いメモリ使用量を再現できるかを質問
  • 2026年1月12日: 30日間動きがないという自動コメント
  • 2026年1月29日: 別のユーザーが「Still occuring」と1行

担当者の質問への返信はコメントに残っていません。つまり、IDEの外でも起きるのか、IDEとの組み合わせで起きるのかは、このissueの中では決着していません。

落とし穴

「メモリ警告」の主語はIDEのヒープ

警告文にあるheap sizeは、IntelliJ IDEAを動かすJVM(Javaの実行環境)のヒープです。Claude Code本体のメモリ使用量そのものを指す数字ではありません。issueはどちらが膨らんだのかを測っておらず、「2つ動かしたら警告が出た」という事実だけを述べています。

重複候補のissueから分かること

自動コメントが挙げた3件は、状態も中身もばらばらです。

issue内容状態
#9658内容複数のClaude Codeインスタンスが立ち上がり、ターミナルがちらつきCPUを消費(v2.0.14以降)状態closed(not planned)
#8968内容v2.0.8以降、1インスタンスが2.5〜3GB、多いときは8GBを使う状態closed(not planned)
#12685内容IntelliJプラグインの「Open Claude in Terminal」がEDTを453msブロック状態closed(not planned)

#8968はIDEを使わず、macOSのTerminal.appで起動しただけでActivity Monitorに大きな値が出るという報告です。IDEの有無にかかわらずメモリを使うケースがあることは分かりますが、#12940の原因だとは言えません。#12685は別の症状(UIスレッドの停止)で、メモリの話ではありません。

重複候補は自動判定です。同じ原因の根拠として読むのは避け、「近い報告がある」程度に留めるのが安全です。

切り分け: 食っているのはIDEか、claudeか

原因が確定していない以上、読者の環境でどちらが重いのかを自分で測るのが先です。順番は次のとおりです。

手順

メモリの出どころを見分ける順番

  1. 1

    IDEのメモリインジケーターを出す

    IntelliJ IDEAのステータスバーを右クリックし、Memory Indicatorを選びます。ヒープの使用量が見えるようになります。

  2. 2

    claudeを動かす前後で比べる

    プロジェクトAだけ、次にAとBの両方でClaude Codeを動かし、インジケーターの値を見ます。IDE側のヒープが大きく動くなら、IDEの設定を疑う材料になります。

  3. 3

    OSの画面で claude のプロセスを見る

    macOSならActivity Monitor、Windowsならタスクマネージャーで claude を探します。IDEのヒープが静かで、claudeのプロセスだけが大きいなら、IDEの設定を触っても効きません。

  4. 4

    IDEの外で同じ作業を試す

    同じプロジェクトを外部ターミナルで動かして使用量を比べます。担当者がissueで尋ねたのも、この点です。

ステップ3で claude が大きかった場合は、Claude Code側の公式トラブルシューティングが使えます。これはIDE連携とは無関係な、一般のメモリ対処です。

claude側が大きいときの手当て

Claude Codeのトラブルシューティングには、高いCPUやメモリへの対処として次の項目があります。

  1. /compact を定期的に実行してコンテキストを小さくする
  2. 大きな作業の合間にClaude Codeを閉じて起動し直す
  3. 大きなビルド出力のディレクトリを .gitignore に入れる
  4. claude --safe-mode で起動し、プラグイン・MCPサーバー・hookのどれかが原因かを確かめる

セッションのヒープが2.5GBを超えると、メモリ使用量が危険水準にあるという警告が出ます。対処は、Claude Codeを終了して claude --continue で会話を新しいプロセスに引き継ぐことです。

# 重いセッションを閉じたあと、会話を引き継いで新しいプロセスで再開
claude --continue
 
# プラグイン・MCP・hookの影響を外して使用量を比べる
claude --safe-mode

それでも高止まりするときは、セッション内で /heapdump を実行します。~/Desktop に <session-id>.heapsnapshot と <session-id>-diagnostics.json が書き出され、要約には「メモリがJSヒープにあるのか、ネイティブメモリにあるのか」も出ます。

IDE側が重いときの手当て

インジケーターが逼迫している場合は、IDEのヒープ上限を上げます。JetBrainsのドキュメントにある手順は次のとおりです。

  1. メインメニューのHelp | Change Memory Settingsを開く
  2. 割り当てるメモリ量を入れ、Save and Restartを押す

これはIDEを動かすJVMの -Xmx オプションを書き換える操作です。再起動して初めて反映されます。IDEは、GC後の空きヒープが最大ヒープの5%を切ると警告を出す仕組みで、警告のAdjust memory optionsからも同じ画面に入れます。値に迷うときは、IDEが提示する値を使うよう案内されています。

Toolbox Appで入れている場合は、インスタンスの設定にあるConfigurationのMaximum heap sizeでも指定できます。

運用で起動数を減らす

issueの条件は「別ウィンドウ2つ × それぞれにClaude Code」です。そこで、起動の数を絞る運用が考えられます。以下はドキュメントの記述から導ける組み立てで、メモリが減ると確認された方法ではありません。

運用

起動数を減らす選択肢

  • 使うウィンドウを決める

    Claude Codeを動かすのは、いま作業しているプロジェクトのウィンドウだけにします。もう一方では、使い終わったセッションを閉じておきます。

  • 外部ターミナルから /ide でつなぐ

    JetBrainsプラグインのドキュメントでは、外部ターミナルで claude を起動し /ide を実行すれば、IDE連携の機能が有効になります。claudeがIDEのターミナルの外で動くので、IDEのウィンドウごとに1つずつ増える形を避けられます。

  • IDEのヒープを上げておく

    2つ開く運用を変えられないなら、先に上限を上げておけば警告は出にくくなります。ただし、claude側が重い場合の解決にはなりません。

外部ターミナルで動かす場合、IDEのプロジェクトルートと同じディレクトリで起動してください。ドキュメントによれば、そうするとClaudeがIDEと同じファイルを見ます。/ide が接続先を選べない、IDEを検出しないといった問題は、JetBrainsプラグインの導入と設定の切り分け節にまとめています。

報告の空欄から読めること

issueのフォームには、回帰かどうか(Is this a regression?)の欄があります。報告者の回答は「I don't know」で、最後に動いていた版(Last Working Version)は未記入です。2.0.57で初めて気づいた問題なのか、以前からあった問題なのかは、報告からは分かりません。

ラベルに platform:macos が付いていて、WindowsやLinuxで同じことが起きるかも未確認です。対して #8968は、同じmacOSでIDEを使わずに起きた別の報告でした。IDEとの組み合わせ固有の問題だと決めるには材料が足りません。

数字で確かめたいとき

メモリの話は体感で語りやすいので、記録を残すのが近道です。次の3点を控えておくと、issueに書くときも自分で比較するときも使えます。

  • Claude Codeのバージョン(claude --version)とIDEのバージョン
  • ウィンドウ数と、claudeを動かしたウィンドウの数
  • IDEのヒープ(インジケーター)と、claude プロセスのメモリ(OSの画面)

#12940の報告はClaude Code 2.0.57、IntelliJ IDEA 2025.2.5での観察です。最近のバージョンで同じ構成を試した値があれば、issueに追記する価値があります。その際は、前述の -diagnostics.json だけを添えます。

まとめ

#12940は、2つのIntelliJプロジェクトでClaude Codeを同時に動かしたときのメモリ警告の報告で、原因も修正版も示されていません。確かなのは、警告がIDEのヒープに関するものだという点です。まずIDEとclaudeのどちらが大きいかを測り、IDEなら上限を上げ、claudeなら /compact や --safe-mode で絞る、という順で動くと無駄がありません。

システム全体のメモリが足りないという別の問題は、Claude Codeのシステム要件で扱っています。Windowsで claude.exe が溜まる場合は、claude.exeが溜まる原因と掃除の手順を見てください。

この記事を共有:XはてブLinkedIn