「Claude Codeでビルドを回していたら急に処理が止まり、ターミナルにKilledとだけ表示される」「npm run buildでJavaScript heap out of memoryが出て落ちる」——これは大半のケースでメモリ不足が原因です。本記事では、開発ノートPCでこの症状が出る仕組みと、今すぐできる対処、根本解決に必要な搭載メモリの目安を、実際にClaude Codeで大規模リポジトリのビルドを回している立場から解説します。
用途別のおすすめ機材
価格帯ごとに、実際に選ばれているものを整理しました。リンク先で最新の価格と在庫を確認できます。
製品 | 価格の目安 | 向いている人 |
|---|---|---|
12,000円前後 | 外付けで作業領域を増やし、メモリ逼迫時のスワップ・キャッシュ不足を安く解消できる | |
14,000円前後 | 対応ノートPCなら自分で32GBに増設可能、Claude Code常駐時の動作が安定する | |
94,800円 | 省スペースで統合メモリの余裕があり、ローカルでの開発作業を快適にこなせる | |
298,800円前後 | 大容量メモリでClaude Codeと複数アプリを同時稼働させても余裕がある |
※ 本サイトはAmazonアソシエイト・プログラムの参加者です。紹介リンクを経由してご購入いただいた場合、手数料を受け取ることがあります。
「Killed」「heap out of memory」が出る仕組み
この2つのエラーは似ているようで発生源が違います。原因を取り違えると対処を間違えるため、まず切り分けます。
Killed=OSのOOM Killerによる強制終了
Linux(WSL含む)では、物理メモリ+スワップが枯渇しそうになると、カーネルのOOM Killer(Out Of Memory Killer)が「最もメモリを食っているプロセス」を強制終了します。ターミナルには理由が表示されず、ただKilledとだけ出て終わるのが特徴です。Claude Codeが大きなリポジトリを解析している最中や、tscの型チェック・webpack/viteのビルドが同時に走っているタイミングで発生しやすい症状です。
heap out of memory=Node.jsのV8ヒープ上限
一方こちらはNode.js側の制限です。V8エンジンはデフォルトで使えるヒープメモリの上限が決まっており(64bit環境でおおよそ2〜4GB程度、Node.jsのバージョンや搭載メモリによって自動調整されます)、これを超えると物理メモリに余裕があってもエラーで停止します。tsc・ESLint・webpackなど大規模なJS/TSプロジェクトのビルドツールで特に起きやすい症状です。
症状別の原因切り分け
症状 | 主な原因 | 優先すべき対処 |
|---|---|---|
Killedとだけ表示され突然終了 | OSのOOM Killer(物理メモリ+スワップ不足) | スワップ追加/搭載メモリ増設 |
FATAL ERROR: JavaScript heap out of memory | Node.jsのヒープ上限超過 | NODE_OPTIONSでヒープ上限を明示的に拡大 |
ビルドは終わるがPC全体が激重になる | スワップへの退避が発生(メモリ実質不足の予兆) | 常駐アプリの整理・搭載メモリの見直し |
Docker内のビルドだけ落ちる | Docker Desktopに割り当てたメモリ上限不足 | Docker設定のメモリ割り当てを増やす |
今すぐできる対処(設定変更・無料)
NODE_OPTIONSでヒープ上限を引き上げる
heap out of memoryが出る場合は、Node.jsに割り当てるヒープの上限を明示的に指定します。搭載メモリの範囲内で余裕を持たせるのがコツです(搭載16GBなら4096〜8192MB程度が目安)。
NODE_OPTIONS=--max-old-space-size=8192 npm run build頻繁に使う場合は.zshrcや.bashrcに環境変数として登録しておくと毎回打たずに済みます。ただしヒープ上限を上げても物理メモリ自体が足りなければ、今度はOSのOOM Killerに引っかかってKilledに化けるだけなので、次のスワップ対処とセットで考える必要があります。
スワップ領域を追加する(応急処置)
Linux/WSL環境では、スワップファイルを追加することでOOM Killerの発動を遅らせられます。あくまで応急処置で、SSDの書き込み寿命を消費し速度も物理メモリより大幅に遅い点は妥協点として理解しておいてください。
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileWSL2の場合は%UserProfile%\.wslconfigにmemory=とswap=を明示的に設定しないと、Windows側のデフォルト割り当て(物理メモリの50%など)に制限されて効果が薄いケースがあるので注意してください。
不要プロセスの整理とビルド分割
- Chromeのタブを大量に開いたまま重いビルドを回さない(1タブあたり数百MB消費することがある)
- Docker Desktop・仮想マシン・他のIDE(VSCode拡張含む)を同時起動しない
- モノレポの場合は全体一括ビルドではなく、変更のあったパッケージだけをビルドする設定に分割する
予算別・開発ノートPCのメモリ構成の目安
設定変更は応急処置に過ぎず、根本的にはメモリ不足に強いスペックを最初から選ぶのが最も確実です。Claude Codeでの大規模リポジトリ解析・ビルド・複数エージェント同時実行を想定した場合の目安は以下の通りです。
予算帯 | 推奨メモリ | 想定用途と妥協点 |
|---|---|---|
〜15万円 | 16GB | 小〜中規模リポジトリなら実用範囲だが、Docker併用や大規模モノレポでは頻繁にKilledが発生する。買い増し前提の暫定機と割り切る |
15〜25万円 | 32GB | Claude Code+ビルドツール+ブラウザ多数タブの同時使用でも余裕が出る、現実的な最低ライン |
25万円〜 | 64GB以上 | 大規模モノレポ・Docker複数コンテナ・ローカルLLM検証まで見据えるなら安心。ただし多くのノートPCはメモリがオンボード仕様で後から増設できないため、購入時点で確定させる必要がある |
搭載メモリの選び方や具体的な機種の考え方は、開発ノートPCメモリ何GB?Claude Code【26年8月】でさらに詳しく扱っているので、購入前に合わせて確認しておくと失敗が減ります。
用途別のおすすめ機材
価格帯ごとに、実際に選ばれているものを整理しました。リンク先で最新の価格と在庫を確認できます。
製品 | 価格の目安 | 向いている人 |
|---|---|---|
12,000円前後 | 外付けで作業領域を増やし、メモリ逼迫時のスワップ・キャッシュ不足を安く解消できる | |
14,000円前後 | 対応ノートPCなら自分で32GBに増設可能、Claude Code常駐時の動作が安定する | |
94,800円 | 省スペースで統合メモリの余裕があり、ローカルでの開発作業を快適にこなせる | |
298,800円前後 | 大容量メモリでClaude Codeと複数アプリを同時稼働させても余裕がある |
※ 本サイトはAmazonアソシエイト・プログラムの参加者です。紹介リンクを経由してご購入いただいた場合、手数料を受け取ることがあります。
設定を変えても落ちる場合の最終チェック
- swap/vm.swappinessの設定が反映されているか
free -hで確認する - Docker Desktopの「Resources」でメモリ割り当てが搭載メモリの半分未満に制限されていないか確認する
- node_modulesの肥大化・不要な依存が残っていないかを疑う(依存を減らすだけでビルド時消費メモリが下がることがある)
- それでも常態的に不足するなら、設定でごまかすフェーズは終わりで、素直にメモリ増設・買い替えを検討するタイミング
まとめると、KilledはOSレベルのメモリ枯渇、heap out of memoryはNode.js側のヒープ上限が原因で、対処法もそれぞれ異なります。NODE_OPTIONSの調整やスワップ追加は無料でできる応急処置として有効ですが、Claude Codeで日常的に大規模ビルドを回すなら32GB以上を最低ラインとして選ぶのが結局いちばんの近道です。まずは無料の設定変更で凌ぎつつ、次の買い替えタイミングでメモリ構成を見直すことをおすすめします。
業務自動化・スクレイピングの導入をご検討の方はnashiまでお問い合わせください。https://nashi-portfolio.netlify.app