1What each modpack used on a real server
Seven packs, installed from CurseForge or Modrinth on the same kind of 16 GB machine, one server at a time, with nobody online.
| Loader | Mods | Memory (Java heap) | Used | Result | |
|---|---|---|---|---|---|
| All the Mods 10 8.2 | NeoForge, 1.21.1 | 460 | 4 GB (2 GB) | – | Out of memory at first start |
| All the Mods 10 8.2 | NeoForge, 1.21.1 | 460 | 8 GB (4.3 GB) | 5.9 to 6.3 GB | Online, 20 TPS |
| All the Mods 10 8.2 | NeoForge, 1.21.1 | 460 | 12 GB (8.3 GB) | 10.2 GB | Online, 20 TPS |
| All the Mods 9 1.1.1 | Forge, 1.20.1 | 418 | 8 GB (4.6 GB) | 6.2 GB | Online, 20 TPS |
| Better MC 4 v61 | Forge, 1.20.1 | 310 | 12 GB (9 GB) | 11 GB | Online, 20 TPS |
| FTB StoneBlock 4 1.22.0 | NeoForge, 1.21.1 | 380 | 12 GB (8.8 GB) | Not recorded | Online once a mod for players was deleted |
| The Pixelmon Modpack 9.3.16 | NeoForge, 1.21.1 | 13 | 4 GB (2.9 GB) | 3.5 to 3.8 GB | Online, 20 TPS |
Loaders: NeoForge 21.1.251 for All the Mods 10, 21.1.250 for StoneBlock 4 and 21.1.172 for Pixelmon; Forge 47.4.0 for All the Mods 9 and 47.4.20 for Better MC 4.
Better MC 2 v40 (Fabric, 289 mods) and SkyFactory 5 5.0.8 (Forge) started too; their memory wasn't recorded, so they're only in the startup table below.
2Why a server needs about 2 GB more than its heap
Java keeps the world, players and items in its heap, the -Xmx you set. The loader and every mod's classes, mixins and compiled code sit outside it. Playkeeper starts servers with Aikar's flags, which claim the whole heap at start (-Xms equal to -Xmx, with AlwaysPreTouch), so the memory used is the heap plus that outside part. With 300 to 460 mods, the outside part came to 1.6 to 2 GB on every big pack we ran:
- All the Mods 10: 5.9 to 6.3 GB used with a 4.3 GB heap, and 10.2 GB with an 8.3 GB heap.
- All the Mods 9: 6.2 GB with a 4.6 GB heap.
- Better MC 4: 11 GB with a 9 GB heap.
- The Pixelmon Modpack: 3.5 to 3.8 GB with a 2.9 GB heap, since 13 mods need much less room outside it.
So on a plan or a VPS with 8 GB in all, give a big pack a heap of about 6 GB, not 8. A heap as big as the whole machine gets the server killed once it grows into it.
It also means used memory says little about need: All the Mods 10 used about 4 GB more with the bigger heap, with nobody online.
3The smallest heaps we tried
All the Mods 10 ran out of memory at its first start with a 2 GB heap, which is what 4 GB gives a pack that size. It started with 4.3 GB, and All the Mods 9 with 4.6 GB; nothing in between was tried. That's a floor with nobody online: players exploring new chunks, farms and machines need more, which is why All the Mods 10 and StoneBlock 4 ask for an 8 GB heap in their own files.
- A big pack, just you: 8 GB.
- A big pack and up to four friends: 12 GB, which gives Java the 8 GB heap those packs ask for.
- A big pack and more friends: 24 GB, from the sizing guide.
- A small pack like the Pixelmon Modpack: 4 GB.
4How long each pack took to start
From a fresh install to a server players can join, and the Done time each server printed in its log.
| Fresh install to online | Done time in the log | |
|---|---|---|
| All the Mods 9 1.1.1 | 193 s | 37.8 s |
| All the Mods 10 8.2 | About 3 minutes | 13.1 to 17.4 s |
| Better MC 4 v61 | 148 s | 43.2 s |
| Better MC 2 v40, Fabric Loader 0.18.4 | 107 s | 38.7 s |
| SkyFactory 5 5.0.8, Forge 47.4.0 | 107 s | Not recorded |
| The Pixelmon Modpack 9.3.16 | 88 s | 26.3 s |
| FTB StoneBlock 4 1.22.0, a restart | 50 s | 2.0 s |
Minecraft's Done timer starts after the mods have loaded, so it leaves most of a modded server's startup out. StoneBlock 4 restarted in 50 seconds, with everything already downloaded, while its log said Done (2.041s).
5Mods that stop a first start
Some first starts fail for reasons that have nothing to do with memory: a mod made only for players' games.
- FTB StoneBlock 4 1.22.0: statuseffectbars stops the server with "invalid dist DEDICATED_SERVER". Delete its jar from mods.
- Better MC 5: delete Better Grassify and Distraction Free Recipes before the first start, as its page says.
- All the Mods 9 1.1.1: Mekalus, a shader mod, crashes a server set up from the pack's player files. ATM's server files leave it out, so start from those.
- Better MC 2 v40: it won't start without Mod Menu, although CurseForge marks that mod for players only.
6How we measured
- The machine: a 16 GB Linux cloud VM with 4 vCPUs, the same kind for every run, one server at a time.
- The install: Playkeeper installed each pack from CurseForge or Modrinth into its Docker container (itzg/minecraft-server, with Java 17 for Minecraft 1.20.1 and Java 21 for 1.21.1) with the memory shown.
- The heap: Playkeeper sets -Xmx to the memory minus room for the loader and mods: a quarter of the memory, or 1 GB plus 6 MB per mod on Forge and NeoForge, whichever is more, and at most half.
- The flags: Aikar's flags with G1, which set -Xms to the -Xmx and pre-touch the heap, so the whole heap counts as used from the start.
- Memory used: the container's memory without file cache, as docker stats shows it, read once the server was online.
- Times: from Playkeeper's log of each install.
- Runs: one per setting, two for All the Mods 10 at 8 GB, so treat small differences as noise.
Questions
How much RAM does an ATM10 server need?
8 GB starts it: on our test server, All the Mods 10 8.2 idled on a 4.3 GB heap and used 5.9 to 6.3 GB. With a 2 GB heap it ran out of memory at first start. For friends, give it 12 GB, which gives Java the 8 GB heap the pack's own files ask for.
How much RAM does an ATM9 server need?
All the Mods 9 1.1.1 started at 8 GB with a 4.6 GB heap and used 6.2 GB with nobody on. Like other big packs, give it 12 GB for friends.
Is 8 GB enough for a modded Minecraft server?
To start a big pack and play alone, yes: All the Mods 10 and All the Mods 9 both ran on 8 GB. With friends exploring, give a big pack 12 GB.
Why does my modded server use all the memory I give it?
With Aikar's flags, Java claims the whole heap when it starts, and the mods' code sits outside the heap: about 2 GB for a pack with 300 to 460 mods. All the Mods 10 used 6 GB with a 4.3 GB heap and 10.2 GB with an 8.3 GB heap, with nobody on.
How much RAM does a Pixelmon server need?
4 GB: the Pixelmon Modpack 9.3.16 ran at 20 ticks a second on 3.5 to 3.8 GB of 4 GB, with a 2.9 GB heap and nobody on. Its page has the setup.
Where do these numbers come from?
From Playkeeper's own test installs on 27 and 28 Sep 2026, on one 16 GB Linux VM, one server at a time. The method section says how each number was read.