How Much RAM Does a Minecraft Server Need?
A Minecraft server usually needs less RAM than the plan you are about to buy. The two most-quoted figures disagree, and two commands test the size you have.

The Minecraft Wiki's requirements table tops out at 4 GB, for 10 or more players.1 PaperMC's docs ask for at least 6 to 10 GB, no matter how few players you have. Both are right about how much RAM a Minecraft server needs — they answer different questions, and the 2 to 6 GB between them is what the bigger plan is charging for.
Why the Minecraft Wiki says 4 GB, Paper 6-10 GB
Paper is talking about garbage collection — Java clearing out memory it has finished with. Its tuning guide says Minecraft "has an extremely high memory allocation rate, ranging to at least 800MB/second on a 30 player server"2, and a bigger pool gives Java room to do that without pausing the game. The Wiki measures something else: how much of the world the server holds at once. Modpack authors quote a third thing, measured on their own pack.
| Source | Figure | Where it comes from |
|---|---|---|
| Minecraft Wiki | 4 GB for 10+ players | how much the world holds |
| PaperMC docs | at least 6-10 GB | room for Java to clean up |
| Enigmatica authors | at least 4 GB for 5-7 players | their own server guide3 |
Paper caps its own advice in the same breath:
Going out and getting 32GB of RAM for a server will only waste your money with minimal returns.
Neither is a plan size. The next section says what one is.
Why two 4 GB plans differ: heap size vs machine RAM
Heap size
The memory handed to the Minecraft process. The number spark reads.
Machine RAM
Everything the box has, part of which the system underneath keeps.
Two plans can print the same number and mean different things, so ask a host which one it is quoting. On Pixly the number is the whole machine and it is yours alone: most of it runs the server, and the rest is held back for the system underneath. Hosting is charged by the hour while the server is awake, from $0.07 on the smallest size.

Loaded chunks set memory use, not player count
Hosting pages size a server by player count. Loaded chunks are what fills the memory, and how many load follows three things — none of them the headcount.
- View distance — how far each player sees. The Wiki defines it as a radius, so the default of 10 is 441 chunks per player.4
- How far apart people are — two players in one village share chunks; two in different biomes do not.
- What is alive in them — mobs, item frames and dropped items are held per chunk, so a busy farm costs more than empty ground.
So four players sprinting apart load far more world than twenty standing at spawn, and no players-to-gigabytes table can predict your number.
Cutting view distance from 10 to 7 takes each player from 441 chunks to 225 — a little under half. It is the first change to try, and the first setting to look at on modded servers, where each chunk holds more.
Why 95% memory use is normal: Java reserves the heap
A Minecraft server runs inside one fixed pool of memory that Java calls the heap, and the panel reads that pool, not the machine. Java lets finished-with memory pile up inside it on purpose, because stopping to clear it costs time. Oracle's tuning guide states the rule plainly: "Garbage collection occurs in each generation when the generation fills up."5
So a panel reading 95% or higher is normal, not a warning. The number that means something is a smaller one inside the heap, and it takes a plugin to read.
Two spark commands that measure your real memory use
spark is a free profiler that measures what the server is doing. Run these with your friends on — an idle server loads a fraction of the chunks a busy one does.
Measure it yourself
- Install spark and restart the server once. It is on Modrinth and CurseForge, as a plugin and as a mod; spark's own download page lists every platform.
- Run
/spark health show --memory6 and under G1 Old Gen readUsage at last GC, not the percentage above it. Java defines that as the bytes that "will still be in use" after a collection7 — your world without the garbage. - Run
/spark gcand find the G1 Old Generation collector. OpenJDK gives that name to full collections8 — the whole-heap sweep Oracle calls "often very time consuming". Read its total. - Read the two together. Zero full collections, and a last-GC figure flat across the evening, means the size you have is enough. Full collections mean Java could not free memory fast enough, and Oracle's remedy is a bigger heap — unless a plugin is leaking, in which case the last-GC figure climbs every hour and never falls back.
That verdict is for your world, your mods and your view distance — three things no pricing page knows.
Past the point where spark says you have enough, more memory does nothing for speed — the tick loop runs on one thread and ticks cannot run in parallel, so its pace is what players feel as lag.
spark can also write a full heap dump — a copy of everything in memory at that instant.
$1 to $4.50 per GB: shared vs dedicated CPU
Across the ten hosts on Pixly's comparison page, checked in August 2026, a gigabyte ranged from about $1 a month to about $4.50. Almost none of that spread is the memory — most ladders price close to a flat rate per gigabyte. What differs is the processor, and how long you commit for. Apex sets the two out side by side in its own table10:
EX-Series
"4 vCores" dedicated. $71.99 a month for 16 GB.
Standard
"Shared". $27.99 a month for 8 GB.
At those rates the 2 to 6 GB between the Wiki's figure and Paper's costs $2 to $27 a month. Whether you are paying it for nothing is what the two spark commands answer.
Common questions: 32 GB, speed, mods and the OS
Four questions a spark reading raises but does not answer.
Is 32 GB ever the right size?
Only for a server holding far more world at once than a normal group generates — many players, several dimensions, a high view distance. For a group of friends, spark says you have enough long before that.
What happens if a Minecraft server runs out of memory?
It slows down before it stops. Java spends more time clearing memory and less running the game, felt as freezes rather than an error. Full collections in /spark gc are that starting.
Should I leave some memory for the operating system?
On your own machine, yes — the system underneath needs its share, so never give the game all of it. On a hosted plan it depends whether the host quotes the memory handed to the game or the whole machine's.
Do more mods always mean more memory?
Not by count. A pack's memory need comes from what it generates — extra dimensions, dense machinery, mobs that persist — not from how many files it ships.
What size to start with, and when to change it
Start at the Wiki's 4 GB for a vanilla group, or the pack author's own number for modded. Those are starting guesses, not plan sizes — the cheapest place to begin measuring.
Then run the two spark commands on a busy evening. If they say a different size, change it and measure again. What a month of evenings costs is worked through on the cost guide.
Footnotes
Minecraft Wiki, Server/Requirements. ↩
PaperMC, Aikar's flags. ↩
Enigmatica, server installation guide. ↩
Minecraft Wiki, server.properties. ↩
Oracle, Java 21 garbage collection tuning guide. The "often very time consuming" line is from the same guide's G1 chapter. ↩
spark, command reference. ↩
Oracle, MemoryPoolMXBean. ↩
OpenJDK, g1MonitoringSupport.cpp at tag jdk-21+35. ↩
OpenJDK, heapDumper.cpp. ↩