MINECRAFT JAVA & BEDROCK · SERVER RAM · NOVEMBER 2026

How Much RAM Does a Minecraft Server Need?

A practical way to size a Minecraft server: estimate RAM from server type, players, distances and world age, set the Java heap safely, and tell a memory problem from a CPU one before you pay for a bigger plan.

Start with server type

Vanilla, Paper, a proxy, modded Java, and Bedrock do not use memory in the same way. Proxies load no worlds, Bedrock is not Java, and modpacks need much more headroom before players even join.

Player spread matters

Players standing together share many loaded chunks. Players scattered across the world each load their own square, so the same player count can have very different memory use.

Distances are your cheap fix

View distance mainly raises loaded chunk count, RAM use, and bandwidth. Simulation distance mainly raises active ticking work on the main thread, so it hurts CPU time first.

Do not give Java the whole plan

-Xmx is only the heap. The process still needs memory outside it, so a full-plan heap can push the server over its limit and get it killed.

Quick sizing table: a sensible starting point

Use this as a first pass, not a promise. A brand new world with friends building in one area uses far less memory than an old SMP with farms, villagers, redstone, and players exploring in different directions. Java max-players defaults to 20, but that setting does not reserve RAM by itself.

Server type Typical group Starting point What changes it most
Vanilla survival 2-5 players 1-2 GB Current version, player spread, world age, distances
Vanilla or light plugins 5-15 players 4 GB Plugin count, explored world size, farms and villagers
Plugin-heavy Paper or Purpur 15-40 players 6-8 GB Chunk loading, plugin data, simulation load
Light to medium modpack 2-10 players 6-8 GB Pack size, dimension count, machine networks, chunk loaders
Heavy modpack 2-10 players 10-16 GB Large packs, automation, mod entity counts
Proxy 0-5 proxy plugins About 1 GB Proxy plugin count; it loads no worlds
Proxy 6-15 proxy plugins 2 GB Extra plugin logic and connections
Proxy 16+ proxy plugins 3 GB Plugin overhead, not chunk or entity load
Bedrock Dedicated Server Small groups up to the default max-players 10 Lighter than Java; no heap to size Player spread, tick-distance, and world age matter more than a Java-style -Xmx

The Minecraft Wiki’s own figures for a LAN party point the same way: 1 GB for 1–4 players, 2 GB for 5–10 and 4 GB for 10 or more, for the server alone. Those assume a new world with view distance at 10 or lower. The wiki adds that a big, old world with several camps, redstone machinery and mob grinders can easily more than double them.

If you are choosing between common plan sizes, treat 2 GB as a narrow fit for tiny, new, conservative setups; 4 GB as the safer middle ground for most small Java groups; and 8 GB as room for plugin-heavy Paper, older busy worlds, or entry-level modded use. The sections below show how to move that starting point up or down with a proper estimate.

What actually uses a Minecraft server’s RAM

RAM is not just “players”. A Minecraft server keeps a lot of world state live in memory so the main tick can access it quickly. The big buckets are loaded chunks, entities and block entities inside those chunks, plugin or mod data structures, and the general messiness that builds up in an old active world.

  • Loaded chunks: each player keeps a square area of chunks loaded around them. The basic maths is (2r+1)^2, where r is the chunk radius. More loaded chunks means more block data, tile entities, and chunk metadata in memory.
  • Entities and block entities: villagers, mobs, items on the ground, minecarts, armour stands, hoppers, and chests all add live objects the server must store and often tick.
  • Plugins and mods: every add-on can keep caches, config data, command systems, protections, economy data, extra worlds, custom items, machine networks, and scheduled tasks in memory.
  • World age and activity: a big old world with several bases, farms, and redstone machinery can easily more than double the RAM requirement of a new world. It also increases CPU work, especially around redstone and grinders.

The wiki notes that a player object itself needs about 50-100 MB of RAM. In practice, the real per-player cost is often higher because players are not just player objects: they are chunk loaders. A player standing at spawn with everyone else is cheap compared with one flying off in another direction, because the group shares many of the same chunks while the explorer loads a fresh square of their own.

That is why “my server has only 6 players” tells you less than “6 players, each at different bases, in an old world with villagers and farms”. The first is light. The second can be much heavier on both heap and main-thread CPU.

View distance and simulation distance: the two settings that change the bill fastest

Before paying for a larger plan, look at your distances. These are often the cleanest fix because they directly change how much world the server has to keep loaded and, for simulation, how much of that world it has to actively tick every game tick.

Radius per player Loaded chunk square Chunks per player
6 13 x 13 169
8 17 x 17 289
10 21 x 21 441
12 25 x 25 625

Look at the jump from 10 to 12: 441 to 625 chunks per player, about 42% more. That extra world data has to sit in memory, and much of it has to be sent to clients as they move.

Chunks each player keeps loaded
Distance 6
169 chunks
Distance 8
289 chunks
Distance 10 (default)
441 chunks
Distance 12
625 chunks
A radius of r chunks loads a square of (2r+1)² chunks around each player. Players standing together share theirs.
Going from 10 to 12 loads about 42% more chunks per player. Lowering the distance is the cheapest way to save memory.

What each setting really costs

View distance controls how much world data the server sends to each client. Raising it mostly increases RAM use for loaded chunks and bandwidth for chunk data. If players complain about memory pressure, long join times, or lag during exploration, lowering view distance is the first cheap test.

Simulation distance controls how far from players living entities are updated. Raising it mainly increases main-thread tick work, so it is more of a CPU setting than a RAM setting. If MSPT is high but heap use is steady, lower simulation distance before buying more memory.

On Java, both defaults are 10. The wiki also notes that -Xmx2G is more than enough for a home server with 5 players at the default simulation distance, but you should scale that up for your actual settings. If you have pushed distances above default, that old “2 GB is fine” advice stops being safe very quickly.

A practical estimate method you can use before you buy

For current versions, the most useful approach is to build the estimate in layers instead of guessing one final number. A typical host rule of thumb for 1.17+ is:

  • Vanilla and Paper: start at 3 GB for a small group of about five, then add 1 GB for every 5 players beyond that, and 1 GB for every 10 plugins.
  • Proxy: about 1 GB for 0-5 proxy plugins, 2 GB for 6-15, and 3 GB for 16+.
  • Modded Java: modern 1.17+ packs start at 8 GB for the first few players, then add 1 GB for every 3 players beyond that, with another 1-2 GB for very large packs.

After that base estimate, adjust for the four dials:

  1. Server type: vanilla and Paper start lower than modded; a proxy starts lowest because it loads no world.
  2. Players and spread: add more if players are often far apart, exploring, boating, using rail, or moving by elytra.
  3. Distances: if view or simulation is above 10 on Java, move the estimate up. If you are willing to reduce them, you may not need a larger plan.
  4. World age: old SMPs with farms, villagers, and redstone deserve extra headroom even at the same player count.

If you are planning a pack, check the pack’s own recommendation first, then compare it against the sort of plans offered for modded Minecraft server hosting. Pack authors know better than any generic rule how much memory their own machines, dimensions, and scripts tend to hold.

Three worked estimates
4 friends, vanilla
about 3 GB
15 players, Paper, 20 plugins
3 + 2 + 2 = 7 GB
6 players, large modpack
8 + 1 + 2 = 11 GB
Base for the server type, plus players, plus plugins or pack size. Check a modpack’s own recommendation first.
Build the estimate in layers, then round to the nearest plan size above it.
Example Estimate Why it lands there
4 friends on modern vanilla About 3 GB That matches the cautious modern baseline. A tiny new world can run in less, which is why small-group vanilla can still fit in 1-2 GB, but 3 GB leaves breathing room.
15-player Paper SMP with 20 plugins 3 + 2 + 2 = 7 GB Start from 3 GB, add 2 GB for the extra players, add 2 GB for the plugins, then review distances and world age before deciding between nearby plan sizes.
6 players on a large modern modpack 8 + 1 + 2 = 11 GB Modern modpacks begin much higher, then climb with players and with pack size. This sits neatly in heavy modpack territory.

These examples line up with the sizing table in our Minecraft server hosting comparison: 4 GB for vanilla or light plugins with 5-15 players, 6-8 GB for plugin-heavy Paper, 6-8 GB for lighter modpacks, and 10-16 GB for heavy ones. Treat the formula as a starting estimate, then tune down distances before you pay more.

Plan RAM is not the same as Java heap

On Java servers, -Xmx is the maximum heap size. That heap holds Java objects such as chunks, entities, plugin data, and temporary allocations. It is not the whole process. Java also needs memory outside the heap for things like metaspace, thread stacks, native libraries, compression buffers, and other overhead.

That is why an 8 GB plan should not be set to -Xmx8G. Paper’s guidance is to reduce -Xmx and -Xms by about 1000-1500 MB. The example given is simple: on an 8 GB plan, use 6500 MB for the heap. That leaves the non-heap overhead room to exist without pushing the process past the container or system limit.

Plan RAM is not the same as the Java heap
Too small: constant garbage collection
Heap (-Xmx) too small
unused plan RAM
The heap fills, the collector runs again and again, and everyone feels regular freezes.
Balanced: 8 GB plan, 6500 MB heap
Heap (-Xmx) 6500 MB
headroom
PaperMC’s advice: set the heap 1000–1500 MB below the plan so Java has room outside it.
Too large: heap set to the full plan
Heap (-Xmx) 8 GB on an 8 GB plan
off-heap
Total memory crosses the limit and the server can be killed outright, without a clean save.
Java needs memory outside the heap, so the heap should never fill the whole plan.

If the total process memory crosses the plan limit, the server can be killed from outside Java. In that case you may get no OutOfMemoryError at all, just a sudden stop and no clean save. That is one of the most common reasons a server owner thinks “8 GB wasn’t enough” when the real problem was “-Xmx was set too high for an 8 GB plan”.

Most hosting panels set this for you with a memory slider or a plan value. If you are self-hosting, or the panel allows custom JVM flags, set it in the start script for vanilla, Fabric, and Paper, or in user_jvm_args.txt for Forge 1.17+ and NeoForge.

java -Xms6500M -Xmx6500M -jar server.jar --nogui
-Xms6500M
-Xmx6500M

With G1GC, Paper advises setting -Xms equal to -Xmx. If you are on a home server and want softer behaviour, Java also has a soft max option: -XX:SoftMaxHeapSize=1G with -Xmx2G tells Java to try to stay under 1 GB but grow to 2 GB when needed.

Too little heap versus too much heap

Too little heap is obvious once you know the signs. The server allocates objects constantly: PaperMC’s documentation puts it at 800 MB per second or more on a 30-player server, almost all of it short-lived. If -Xmx is too low, Java has to stop more often to collect garbage. Players feel that as short freezes, rubber-banding, delayed block breaks, or a brief TPS drop every time memory pressure peaks.

The hard failure is a java.lang.OutOfMemoryError in the console or log. The softer failure is just frequent garbage collection. In both cases, the fix is not automatically “buy the biggest plan”; it is “give the server enough heap for its live working set, while keeping safe headroom for the rest of the process”.

Too much heap, on the other hand, does not make ticks faster. If your server only needs a moderate live set, extra heap above that buys very little. Paper’s G1 flag guidance recommends at least 6-10 GB for that flag set and notes diminishing returns above a point; 32 GB would waste money. That advice is aimed at busy Java servers using that tuning, not as a universal minimum for a small private world. The wiki’s smaller home-server estimates still make sense for quiet, low-distance servers with a new world and a handful of players.

A good heap size is the one that avoids constant GC pressure without pushing the full process into the plan limit. After changing it, the signs of improvement are simple: fewer GC pauses, no OOM errors, and memory no longer climbing straight into the ceiling during ordinary play. If MSPT stays high anyway, memory was not the main problem.

Is it RAM or CPU? How to tell before you upgrade

Minecraft’s main game tick runs on one thread. Good single-core CPU performance matters because the server can use extra cores for some work, but the tick that updates the world still bottlenecks on one main thread. That means a server can have plenty of RAM and still lag badly if farms, villagers, mob caps, redstone, or chunk generation are pushing MSPT over budget.

On Paper 1.21+, spark is bundled, which makes triage much easier. Start with /spark health, /spark health show --memory, /spark gc, /spark heapsummary, and /spark tps. The target is 20 ticks per second, with one tick taking 50 ms, so MSPT should stay under 50.

Is my lag RAM or CPU?
Players report lag, freezes or rubber-banding
Does the server die with no Java error?
Yes
Over the plan limitLower -Xmx so 1000–1500 MB stays free outside the heap.
No
OutOfMemoryError, or memory pinned near -Xmx with frequent GC pauses?
Yes
Short on heapLower view distance and trim add-ons first, then give the heap more room.
No
Memory flat, but MSPT above 50 in /spark health?
Yes
CPU-bound tickLower simulation distance and profile farms, villagers and redstone. More RAM won’t help.
No
Only while players explore new terrain?
Yes
Chunk generationLower view distance. This is CPU and disk work more than memory.
No
Still lagging? Check one player’s connection before changing the server
Work down from the top. The first “Yes” tells you which resource is short.
Symptom Likely cause First fix
Memory keeps climbing near -Xmx, and /spark gc shows frequent pauses Heap pressure; the server is short on usable RAM Lower view distance, trim heavy plugins or mods, then raise -Xmx only if the plan still has headroom
Memory is fairly flat, but MSPT is high and TPS drops under load CPU-bound main tick, not a RAM shortage Lower simulation distance, profile farms, villagers, mob areas, and redstone before paying for more memory
Lag spikes happen mainly while exploring new terrain Chunk generation and world loading; often CPU and disk work first Lower view distance, pre-generate if practical, and expect exploration spikes to improve less from RAM than from reducing fresh chunk work
java.lang.OutOfMemoryError in console or logs The heap is genuinely too small Increase available memory or reduce server load, then set a sensible -Xmx below the full plan limit
Server process dies with no Java memory error Container or OS killed it after total memory crossed the plan limit Reduce -Xmx, keep 1-1.5 GB headroom, or move to a larger plan

The key rule is this: RAM fixes memory pressure; it does not fix a slow main thread. Flat memory with bad MSPT means you should tune the world, not just the heap.

Bedrock servers are lighter, but they are sized differently

Bedrock Dedicated Server is a native program, not a Java process. There is no -Xmx heap to set, so the Java heap advice above does not apply directly. Its defaults are also different: view-distance is 32, tick-distance is 4, and max-players defaults to 10.

In practice, Bedrock is often lighter than Java for the same small group, but you still size it by what the server must keep active. More players spread apart raise world memory use. Higher tick-distance raises active simulation work, which hits CPU first and memory second. Very old worlds with built-up areas still cost more than new ones.

If you are comparing plans for Minecraft Bedrock server hosting, look less at Java-style heap numbers and more at the plan’s overall memory and CPU allowance. For Bedrock, tick-distance is often the setting to test first when performance slips.

Home server sizing: remember the operating system and the game client

On a home server, the machine needs memory for more than Minecraft. The wiki’s minimum guidance is to keep at least 1 GB of additional physical RAM for Windows or a desktop Linux system on top of the server allocation. If you also play on the same PC, leave more than that, because the game client needs its own memory and can become the real limit before the server does.

That is why a box with “just enough” RAM on paper often stutters in real use. Once the operating system and the Minecraft client compete with the server, memory pressure spreads across the whole machine, which can lead to swapping, pauses, and sudden slowdowns that look like server lag. If you are setting up a Minecraft dedicated server at home, treat the server’s heap as only one part of the total machine budget.

The same applies to the rest of the system. Server responsiveness still depends heavily on CPU and storage behaviour, not only RAM, so it helps to read up on broader game server hardware requirements before you decide that memory is the only upgrade worth making.

Tune it first, then upgrade if the signs still point to memory

If your estimate lands between common plan sizes, choose the size that leaves room for heap headroom and for the world to age a bit. But buy more memory only after you have used the cheap settings that directly cut chunk and tick load.

Sign What it usually means Do this
New world, small group, few add-ons, low or default distances You may not need much heap yet Start conservatively, watch GC and MSPT, and avoid overbuying for a quiet world
Players are mostly together, but lag appears during exploration Fresh chunk loading and generation are the main cost Lower view distance first; more RAM helps less than reducing new chunk work
Old world with farms, villagers, redstone, and separate bases The world state itself is expensive Expect to move up a plan sooner, because both memory use and CPU tick cost rise with world age
Plugin count grows, or a simple server becomes feature-heavy Heap use climbs even if player count does not Re-estimate with add-on overhead included; 4 GB and 8 GB plans make more sense here than a cramped 2 GB plan
GC pauses are gone, but MSPT is still high You solved memory pressure but not tick performance Leave RAM alone and profile the world; more memory will not repair a CPU-bound tick
Heap is sensible, settings are tuned, and you still hit the limit The server really has outgrown the plan Upgrade the plan, then keep the same headroom rule instead of setting -Xmx to the new full limit
Pick a plan from the estimate, not from guesswork

Once you know your server type, player spread, distances, and world age, it becomes much easier to tell if 2 GB, 4 GB, or 8 GB is actually sensible. Use that estimate, then compare plans that still leave proper heap headroom for Java.

Compare the best Minecraft server hosts

Minecraft server FAQ

Is 2GB of RAM enough for a Minecraft server?

It can be, but only for a small and simple setup. The wiki’s LAN-party guidance puts 1-4 players on 1 GB and 5-10 on 2 GB for a new world with default-style settings, but current versions, older worlds, and spread-out players can push past that quickly. For modern Java, 2 GB is best treated as a tight fit, not a safe default.

Is 4GB of RAM enough for a Minecraft server?

For many small Java servers, yes. It matches the range we give for vanilla or light plugins with 5-15 players, and it leaves more breathing room than 2 GB for world growth and plugin overhead. If the server is already lagging, still check MSPT and GC first, because 4 GB does not fix a CPU-bound tick.

How much RAM do I need for a modded Minecraft server?

Modern modded packs usually start far higher than vanilla. A typical rule of thumb is 8 GB minimum for 1.17+ packs, then add 1 GB per additional 3 players and another 1-2 GB for a very large pack. Always check the modpack’s own recommendation first, because the pack author knows its memory footprint better than any generic table.

Does more RAM reduce lag on a Minecraft server?

Only if the lag is caused by memory pressure. More RAM helps when the heap is too small and the server is pausing for garbage collection or throwing memory errors. It does not solve high MSPT caused by farms, redstone, villagers, or chunk generation on the main thread.

Should I set -Xmx to my full plan RAM?

No. Java needs memory outside the heap, so setting -Xmx to the full plan can push total process memory over the limit and get the server killed. Leave about 1-1.5 GB headroom; for example, an 8 GB plan should use about 6500 MB for -Xmx.

More Minecraft and server sizing guides

Our Minecraft host comparisons, plus RAM guides for other survival games.

Written for Minecraft Java Edition 26.3 and the current Bedrock Dedicated Server. Figures come from the Minecraft Wiki’s server requirements, PaperMC’s documentation and typical host sizing guidance.

Similar Posts