Server exited with code 137 (SIGKILL / OOM)
Exit codes above 128 signal termination by signal: 137 = 128 + 9 (SIGKILL). The most common sender is the kernel's OOM killer when the container or machine runs out of memory. Unlike a Java OutOfMemoryError, the JVM got no chance to print anything — the process just vanished.
Fastest path: paste your crash report into the Crash Doctor — it identifies this pattern and 40+ others automatically. No signup.
How to fix it
- 1
Compare JVM heap to host memory
The -Xmx heap must fit inside the container/VM with headroom for metaspace, off-heap buffers and the OS — typically heap = host RAM minus 1–2 GB. Heap equal to host RAM guarantees 137s.
- 2
Lower -Xmx or upgrade the plan
If the pack genuinely needs more than the host provides, upgrade the tier. If it fits but the flags were copy-pasted too large, right-size the heap first.
- 3
Reduce memory consumers
Lower view-distance and simulation-distance, trim the entity load, and check backup jobs — a full-world compression while the server boots is a classic 137 trigger.
- 4
Check for a pattern
137s at random times point at host-level pressure; 137s at the same in-game moment point at a memory spike in that activity (huge entity spawns, chunk floods). The pattern chooses the fix.
Alternative causes
These can produce the same error message — worth ruling out if the steps above don't resolve it.
A manual kill or panel restart
Stop/restart sends signals too — a 137 right after an admin action is just the stop working as intended, not an OOM.
cgroup memory limits on shared hosts
Container limits kill at the cgroup boundary. If your host documents a memory limit, size the heap against that number, not the VM's nominal RAM.
Frequently asked
How is this different from OutOfMemoryError?
OutOfMemoryError is the JVM reporting its own heap ran dry — it prints a report and exits. 137 is the OS executing the process; there is no report.
Why 137 and not 9?
Convention: exit status = 128 + signal number. Signal 9 (SIGKILL) lands on 137.
How much headroom above the heap do I need?
Rule of thumb: 1 GB plus ~10% for a modded server — metaspace, direct buffers and thread stacks all live outside the heap.
Want this auto-fixed on your server?
CoalHosting's Minecraft hosting runs the same pattern database against every crash and applies the known fix before your players notice. Free crash diagnosis works on any server, hosted or not.
Related crashes
java.lang.OutOfMemoryError: Java heap space
Fix Minecraft server OutOfMemoryError crashes — the JVM ran out of allocated heap. Most modpacks need 8–16 GB;…
java.lang.OutOfMemoryError: GC overhead limit exceeded
'GC overhead limit exceeded' is the slow-crash cousin of OutOfMemoryError — the JVM spends nearly all its time…
Server exited with code 1
Exit code 1 means the JVM hit an unhandled error. The code itself says nothing — the real cause is in the log …
Last reviewed 2026-09-06. If a step is wrong or out of date, tell us — we'll fix the article and the auto-pattern at the same time.