[BUG] install.sh OOM killed on 8 GB Debian VM — Node.js SEA binary consumes 7.5 GB RAM
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
- Create a Debian 12 VM on Proxmox via cloud-init with 8 GB RAM
- Run
curl -fsSL https://claude.ai/install.sh | bash - 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.
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗