All

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. 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. 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. 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. 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

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.