Claude Codeのインストールが「Killed」で落ちる原因、公式ドキュメントで潰した——格安VPSのメモリ不足対処法

Claude Codeのインストールが「Killed」で落ちる原因、公式ドキュメントで潰した——格安VPSのメモリ不足対処法

Claude CodeをVPSにインストールすると出る「Killed」エラーの正体を解説。Linux OOM Killerの仕組み、スワップ追加の手順、Dockerでインストールがハングする別問題まで、公式ドキュメントベースで整理した。

エンジニアのゆとです。

格安VPSにClaude Codeを入れようとしてインストールコマンドを叩いたら、途中で何も説明なくKilledとだけ出て止まる——という経験をした人はそれなりにいると思う。エラーメッセージらしいメッセージが出ないので、最初は何が起きたのか見当がつかない。ネットワークの問題かと思ってcurlだけ何度も打ち直したり、権限の問題を疑ってsudoを付けてみたり、的外れな対処をしがちなポイントでもある。

正体はシンプルで、メモリ不足だ。ただ「メモリ不足」で検索すると、Claude Code実行中の大規模プロジェクト解析でメモリを食う話ばかり出てきて、インストール時点でのこのKilledとは別問題として語られていることが多い。この記事はインストール時点のKilledに絞って、公式ドキュメントとGitHub Issueをベースに原因と対処法を整理した。

結論 — KilledはOOM Killerがインストールプロセスを強制終了したサイン

先に結論を書く。

Linux環境でKilledとだけ出てインストールが止まるのは、ほぼ確実にLinuxカーネルのOOM Killer(Out-Of-Memory Killer)が、メモリ不足を理由にclaude installのプロセスを強制終了したのが原因だ。ネットワークの問題でも権限の問題でもない。

Anthropicの公式トラブルシューティングドキュメントにも、この症状は「低メモリLinuxサーバーでのインストール中のKilled」として明記されている。

code.claude.com
Troubleshoot installation and login - Claude Code Docs command not found、PATH、権限、ネットワーク、認証エラーなどインストール・ログイン周りのエラーを症状別に整理した公式ページ。

対処法は「メモリを増やす」の一択で、具体的には次の3つのどれかになる。

  1. スワップ領域を追加する(最速)
  2. 他のプロセスを止めてメモリを解放する
  3. より大きいインスタンスに変える(根本解決)

以下、順番に見ていく。

実際に出るエラーメッセージ

公式ドキュメントに載っている再現例はこうだ。

Setting up Claude Code...
bash: line 142: 34803 Killed    "$binary_path" install ${TARGET:+"$TARGET"}
Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.
Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.

このメッセージが出るなら比較的新しいバージョンのインストーラーを使っている。v2.1.200より前のインストーラーだと、原因の説明もなくKilledという1行だけを吐いて終わっていた。自分がこの問題を最初に踏んだ人の報告を追ったときも、「意味不明な1行だけ出て終わる」という書き込みが多かったのはこのバージョン差のせいだ。

exit code 137という数字も覚えておくといい。128 + 9(SIGKILL)で、Linuxのプロセスがシグナル9で強制終了させられたことを示す一般的な符号だ。OOM Killer以外の理由でも出ることはあるが、インストール中の文脈でこれが出たら、まずメモリ不足を疑うのが最短ルートになる。

なぜ起きるのか — LinuxのOOM Killerの仕組み

Linuxカーネルは、システム全体のメモリが枯渇しそうになると、動作を続けさせるために特定のプロセスを選んで強制終了する。これがOOM Killerだ。優先度の低いプロセスや、メモリ使用量が大きいプロセスから狙われる仕組みになっている。

claude installステップは、バイナリの展開やセットアップ処理でそれなりにメモリを使う。公式ドキュメントによれば、インストールには約512MBの空きメモリが必要で、これに満たない環境では高い確率でOOM Killerに刈られる。

これが厄介なのは、小規模なVPSやクラウドインスタンスほど起きやすいという点だ。月額数百円クラスの格安プランは、RAM 512MB〜1GB程度に設定されていることが珍しくない。実際、当サイトで検証したABLENET VPSのL0プラン(メモリ0.5GB)も、「AI用途には非推奨、Difyのコンテナを起動しただけで詰まる」という結論になっている。Claude Codeのインストールでも同じ壁に当たると考えていい。

ABLENET VPS レビュー 2026|Claude Code・Dify・n8nをまとめてセルフホストできるAI特化VPSを検証
ABLENET VPS レビュー 2026|Claude Code・Dify・n8nをまとめてセルフホストできるAI特化VPSを検証ABLENET VPSのLプランを検証。Claude Code・Dify・n8nのAIセルフホストに最適なプランと料金、XServer/KAGOYAとの比較、かんたんセットアップツールの使い方まで徹底解説。読む →

対処法1: スワップ領域を追加する

一番早い直し方は、スワップ領域(ディスクをメモリの代わりに使う領域)を追加すること。物理RAMが足りなくても、スワップがあればインストールを完走できる可能性が高い。

公式ドキュメントが案内している手順はこう。2GBのスワップファイルを作成して有効化する。

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

有効化できたら、インストールをやり直す。

curl -fsSL https://claude.ai/install.sh | bash

fallocateが使えない古めのファイルシステムの場合はddで代用できる(if=/dev/zero of=/swapfile bs=1M count=2048のように書く)。作成に少し時間がかかるだけで、結果は同じだ。

再起動後もスワップを維持したいなら、/etc/fstabに1行追加しておく。

/swapfile none swap sw 0 0

ここで正直に書いておくと、スワップはあくまで応急処置だ。ディスクI/Oはメモリより圧倒的に遅いので、スワップに頼った状態のままClaude Codeを日常的に動かすと、体感速度がかなり落ちる。インストールだけ通したいならこれで十分だが、実運用に使うVPSなら次の対処法3が本筋になる。

対処法2: 他のプロセスを閉じてメモリを解放する

一時的にメモリを空けたいだけなら、動いている他のプロセスを止めるのも手だ。

free -m

でメモリの空き状況を確認できる。Dockerコンテナやデータベース、監視エージェントなど、常駐しているプロセスがあれば一旦止めてからインストールを試す。

とはいえ格安VPSでこの方法が効くケースは限られる。そもそもOSの常駐プロセスだけで大半のメモリを使っているような512MB環境だと、止められるものがほとんどない。次の対処法とセットで考えたほうが早い。

対処法3: より大きいインスタンスに変える

根本的な解決はこれに尽きる。公式ドキュメントも「可能であれば、より大きいインスタンスを使ってください。Claude Codeには少なくとも4GBのRAMが必要です」とはっきり書いている。

ここで注意したいのは、「512MBはインストールできる最低ライン」であって「快適に使える基準」ではないという点だ。インストール自体はスワップでどうにか通せても、Claude Codeを実際に動かすと、サブエージェントの並列起動やファイル読み込みでさらにメモリを使う。512MB〜1GB帯のプランでインストールだけ無理やり通しても、実運用でまた同じ壁に当たる可能性が高い。

自分がHostinger VPSで検証したときも、4GBプラン(KVM 1)で「Node.jsのインストール時や大きなリポジトリの読み込みでメモリ不足に詰まることがある」と書いた。この記事で扱っているKilledはそれより手前の、もっと露骨な症状だと思ってもらえばいい。

Hostinger VPS に Claude Code を入れて開発環境を1時間で作る——SSH設定からClaude実行まで
Hostinger VPS に Claude Code を入れて開発環境を1時間で作る——SSH設定からClaude実行までHostinger VPSにClaude Codeのリモート開発環境を構築する手順を解説。申込からSSH接続、Node.js/Claude Codeのインストール、tmuxでの常駐化、GitHubとの連携まで、フリーランスエンジニアの実運用ベースで紹介。読む →

目安をまとめるとこうなる。

RAMインストール実運用
〜512MBスワップなしでは失敗しやすい非推奨
1GB〜2GBスワップなしでも通ることが多い単発タスクなら動くが不安定
4GB〜問題なし公式推奨ライン。快適に使える

フリーランスで自分の開発サーバーとしてVPSを借りるなら、最初から4GB以上のプランを選んでおいたほうが、後から詰まって調べ直す時間を考えると結局安い。VPSではなく手元のマシンをAI開発拠点にする選択肢もある。

おまけ: Dockerでインストールがハングする別問題

VPS文脈でもう1つ、地味に踏みやすい問題がある。Killedで即終了するのとは違って、こちらはハングして何も進まなくなる症状だ。

Dockerコンテナ内でClaude Codeをインストールするとき、rootユーザーで/(ルートディレクトリ)にいる状態でインストーラーを実行すると、処理が固まることがある。原因は、インストーラーがファイルシステム全体をスキャンしてしまい、それが過剰なメモリ使用とハングを引き起こすためだ。

対処法はシンプルで、インストール前に作業ディレクトリを明示的に指定しておくこと。

WORKDIR /tmp
RUN curl -fsSL https://claude.ai/install.sh | bash

WORKDIRを設定しておけば、スキャン範囲がその小さなディレクトリに限定されてハングを避けられる。Docker Desktopを使っている場合は、あわせてメモリ制限を上げておくと安全だ。

docker build --memory=4g .

Dockerのメモリ周りで別の問題(Docker Desktopがホスト側のメモリを食いすぎる件)に心当たりがあるなら、こちらも合わせて見ておくとまとめて解決できる。

Docker Desktopのメモリ食いすぎ問題にMacエンジニアが終止符を打った話
Docker Desktopのメモリ食いすぎ問題にMacエンジニアが終止符を打った話MacのDocker Desktopが16GB RAMの半分を食う問題をOrbStack乗り換えで解決した実測レポート。アイドル時メモリ81%減、I/O 3倍、起動時間6分の1。Colima比較・docker-compose互換性・Apple Silicon対応・乗り換え手順まで全部書いた。読む →

FAQ

スワップを追加したのにKilledが直らない

スワップの容量が足りていない可能性がある。free -mでスワップの有効化を確認し、2GBで足りなければ4GBに増やして試してほしい。それでも直らない場合は、OS側の別のプロセス(メモリリークしているデーモンなど)が常時メモリを圧迫していないかtophtopで確認したほうが早い。

インストールは通ったのに、Claude Code起動後に固まる

インストールとランタイムは別の問題だ。インストール時のKilledは解決していても、512MB〜1GB程度のRAMだと実行時にまた別の形でメモリ不足に当たることがある。長時間セッションでの不安定さについては別記事で実測ベースにまとめている。

無料枠のクラウドインスタンス(RAM 512MB〜1GB)でも使えるようにならないか

スワップを追加すれば「動く」状態には持っていけるが、快適さは犠牲になる。検証・学習目的で一時的に動かす分には現実的な選択肢だが、日常的な開発環境として使うなら、公式が推奨する4GB以上のプランに乗り換えたほうが結果的にストレスが少ない。

まとめ

Killedは原因のわからないエラーの中でもかなり不親切な部類だと思う。ログも出さずに終わるので、最初にこれを踏んだ人は「何が起きたのか」から調べ始めることになる。今回みたいに原因がOOM Killerだと分かっていれば、対処自体は「スワップを足すか、大きいインスタンスに変えるか」で終わる話でしかない。

VPS選びの段階で「Claude Codeを動かすなら最低4GB」を基準にしておけば、そもそもこの記事を読む必要すらなくなる。それが一番の対処法かもしれない。

github.com
anthropics/claude-code Issues 同じ症状の報告を検索したり、再現しない不具合を報告するならここ。
← 記事一覧に戻る