Forge Server Tools · every failure mode · guides
Realistic heap figures by mod count, why giving the JVM all your memory backfires, and how to tell a too-small heap from a genuine memory leak.
| Pack size | Heap (-Xmx) |
|---|---|
| Vanilla / light (under 50 mods) | 2–4 GB |
| Around 100 mods | 6 GB |
| 200+ mods | 8–10 GB |
| Large kitchen-sink packs, several players | 10–12 GB |
These are heap, not machine memory. The machine needs meaningfully more.
The single most common mistake: a 8 GB box with -Xmx8G. The JVM needs
memory outside the heap — metaspace, thread stacks, direct buffers, the
JIT's own code cache — and the operating system needs some to function.
When it runs out, the kernel kills the entire process. You get no crash report, no exception, just a log that stops mid-sentence. See no crash report.
Cap -Xmx at roughly 75% of physical RAM.
-Xms equal to -XmxLetting the heap grow gradually causes a class of GC stall during world generation. Setting them equal avoids it — and has the useful side effect of failing immediately if the value is impossible, rather than an hour in.
This is the part worth internalising. If raising the heap only delays the crash, you do not have a size problem — you have a leak, and more memory buys proportionally more time before the same ending.
How to tell them apart:
Watch heap usage across hours, not minutes. A leak is invisible on any shorter scale.
See also java.lang.OutOfMemoryError.
Forge Server Doctor performs the whole procedure above — reads the report, finds the real cause under the wrappers, skips the vanilla frames, and names the mod jar. 24 failure modes, each with its fix. The free edition covers the six most common startup failures.