[BUG] install.sh OOM killed on 8 GB Debian VM — Node.js SEA binary consumes 7.5 GB RAM

Resolved 💬 6 comments Opened Mar 31, 2026 by vivekmaru Closed May 26, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The curl -fsSL https://claude.ai/install.sh | bash installer is OOM-killed on a Debian 12 VM with 8 GB RAM. The self-extracting binary (claude-2.1.88-l) consumes ~7.5 GB of physical memory during installation and gets killed by the Linux OOM killer.

What Should Happen?

The installer should complete without requiring >8 GB RAM. The npm-based install (npm install -g @anthropic-ai/claude-code) works fine on the same VM.

Error Messages/Logs

curl -fsSL https://claude.ai/install.sh | bash
Setting up Claude Code...
bash: line 151:   683 Killed                  "$binary_path" install ${TARGET:+"$TARGET"}


### OOM dmesg output


oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/session-1.scope,task=claude-2.1.88-l,pid=683,uid=1000
Out of memory: Killed process 683 (claude-2.1.88-l) total-vm:95910200kB, anon-rss:7866168kB, file-rss:4kB, shmem-rss:0kB, UID=1000 pgtables:25884kB oom_score_adj=0


The binary consumed **7.5 GB RSS** (`anon-rss:7866168kB`) out of 7.8 GB available.

### strace analysis

strace of `mmap` calls shows the binary requesting **~36 GB of virtual memory** via large anonymous mappings:


mmap(NULL, 8589934592, ...)  = 8 GiB   (V8 pointer compression cage)
mmap(NULL, 6488588288, ...)  = ~6 GiB
mmap(NULL, 6455033856, ...)  = ~6 GiB
mmap(NULL, 4341104640, ...)  = ~4 GiB
mmap(NULL, 4307550208, ...)  = ~4 GiB
mmap(NULL, 2906652672, ...)  = ~2.7 GiB
mmap(NULL, 2873098240, ...)  = ~2.7 GiB
mmap(NULL, 2181038080, ...)  = ~2 GiB


All use `MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE`. While these are sparse virtual allocations, the binary touches enough pages during self-extraction that RSS balloons to 7.5 GB, exhausting all available physical memory.

Steps to Reproduce

  1. Create a Debian 12 VM on Proxmox via cloud-init with 8 GB RAM
  2. Run curl -fsSL https://claude.ai/install.sh | bash
  3. Observe OOM kill
OS: Debian 12 (6.1.0-44-cloud-amd64)
Arch: x86_64
RAM: 7.8 GiB (no swap, no cgroup limits)
Hypervisor: Proxmox (cloud-init)

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.88 (installer binary)

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

iTerm2

Additional Information

Also tested with 4 GB RAM — same OOM kill with anon-rss:3777848kB (~3.6 GB). The VM has no cgroup memory limits, no swap, default overcommit_memory=0, standard 4K page size.

Related #22535 installer OOM during Docker build — locked, unable to comment. Same root cause with additional strace analysis below.

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗