Why Your 8GB Minecraft VPS Still Lags at 15 Players
You had 4GB and it lagged. You upgraded to 8GB. It still lags. Fifteen players log in, TPS drops to 14, block breaking has a half-second delay, mobs teleport. Everything you read said "more RAM, less lag," so you're looking at 16GB plans and wondering if doubling it again will finally fix it. It won't. The lag isn't coming from RAM. It's coming from the CPU core you didn't think to check.
Why Minecraft is a single-thread problem
Every Minecraft server runs a main game loop that processes one "tick" at a time. Each tick handles player movement, mob AI, block updates, redstone, chunk loading, and everything else that constitutes the game world. A healthy server completes 20 ticks per second (TPS). That means each tick has a budget of 50 milliseconds.
This loop runs on a single CPU thread. It cannot be parallelized across multiple cores because each tick depends on the result of the previous one. Ten cores, twenty cores, it doesn't matter. Minecraft uses one of them for the game loop, and that one core's speed determines your TPS.
The metric that matters is MSPT (milliseconds per tick). If MSPT stays below 50, TPS stays at 20 and the game feels smooth. If MSPT exceeds 50, ticks stack up, TPS drops, and players experience lag. You can check MSPT in-game with /mspt on Paper/Purpur servers, or with the /spark profiler.
A 2.0 GHz shared vCPU on a budget VPS processes instructions roughly half as fast as a 4.0 GHz dedicated core. When 15 players are active, the tick computation for mob AI, pathfinding, and chunk generation pushes MSPT past 50ms on the slower core. Adding RAM doesn't make that core compute faster. Nothing does, except a faster core.
What RAM actually does (and doesn't do)
RAM serves two purposes on a Minecraft server:
- Holding the world in memory. Loaded chunks, entity data, player data, and plugin/mod data all live in the Java heap. If the heap runs out, the server crashes with an OutOfMemoryError.
- Preventing swap. If the OS runs out of physical RAM, it swaps to disk, which is catastrophically slow for a game server.
Neither of these is "performance" in the TPS sense. RAM prevents crashes. It doesn't speed up ticks. A server with 4GB of RAM and a fast CPU will have better TPS than a server with 16GB and a slow CPU, every time.
How much RAM do you actually need?
| Setup | RAM needed | Notes |
|---|---|---|
| Vanilla, 1-5 players | 2-3 GB | Minimal. Java itself takes ~500MB overhead. |
| Vanilla or Paper, 10-20 players | 4-6 GB | Most self-hosted servers live here. |
| Moderate mods (50-100 mods) | 6-8 GB | Forge/Fabric with moderate mod count. |
| Heavy mod packs (200+ mods) | 8-12 GB | This is where RAM starts to matter more. |
If your server has 8GB allocated and isn't crashing, adding more RAM will not improve TPS. The money is better spent on a VPS with a faster CPU.
The garbage collection trap
Here's where more RAM can actually make things worse. Java uses garbage collection (GC) to reclaim memory that's no longer in use. The larger the heap (allocated RAM), the more memory the garbage collector has to scan. On a large heap, a major GC pause can freeze the server for 200-500ms, which drops TPS to zero for that duration and causes a visible lag spike for every player.
This is why Minecraft server guides that say "allocate as much RAM as possible" are actively harmful. The correct approach is to allocate enough RAM for your world and mod data, then tune your GC flags. Paper and Purpur servers benefit from Aikar's GC flags, which are designed specifically for Minecraft's memory usage pattern. The short version: -Xms and -Xmx should be equal (to avoid heap resizing), and the G1 garbage collector with appropriate region size settings should be used.
If you're seeing periodic lag spikes every 30-60 seconds on a server with plenty of RAM, check your GC logs. The problem may be that you allocated too much, not too little.
What to buy instead of more RAM
The Minecraft server shopping list, in priority order:
- Fast CPU core (3.5+ GHz, dedicated if possible). This is the single most impactful factor for TPS.
- Enough RAM (4-8GB for most servers). Not maximum RAM. Enough RAM.
- NVMe storage. Chunk loading speed matters for new terrain generation and player teleports. Throttled-IOPS SATA (Contabo's old SSD line) will cause micro-freezes during chunk loads.
- DDoS protection. Minecraft servers are frequent DDoS targets. If your provider doesn't offer network-level DDoS mitigation, a determined attacker takes your server offline.
Budget VPS providers for Minecraft
| Provider | CPU for Minecraft | Why / why not |
|---|---|---|
| Netcup RS | Dedicated cores, 3.0-3.5+ GHz | Best budget option for consistent TPS. 12-month term. |
| Hetzner CCX | Dedicated vCPU, AMD EPYC | Good single-thread. Pricier than shared plans. |
| Contabo | Shared vCPU, ~2.0-2.4 GHz | Lots of RAM per dollar but CPU is the weak link for Minecraft. |
| OVH Game | Dedicated, high-clock gaming line | Built for game servers. DDoS protection included. Pricier. |
| RackNerd | Shared, variable GHz | Cheap but CPU steal makes TPS unpredictable under load. |
Contabo is the provider most Minecraft server owners end up on because of the RAM-per-dollar value. It's also the provider that generates the most "why does my server lag" posts, because the 8GB of RAM they're paying for isn't the bottleneck, and the shared 2 GHz vCPU that comes with it is.
FAQ
Why does my 8GB Minecraft server still lag?
Because Minecraft lag is a CPU problem. The game loop is single-threaded. If your VPS has a slow shared vCPU (2.0-2.4 GHz, standard on budget hosts), the server can't finish a tick in under 50ms, so TPS drops. More RAM doesn't make the CPU compute faster.
How much RAM does a Minecraft server actually need?
4-6GB for vanilla/Paper with 10-20 players. 6-8GB for moderate mods. Going beyond 8GB rarely helps unless you run heavy mod packs, and over-allocating RAM can cause garbage collection lag spikes.
What CPU speed do I need for Minecraft?
At least 3.5 GHz single-thread for 15-20 players. Dedicated cores (Netcup RS, Hetzner CCX) beat shared vCPU plans because you don't lose cycles to CPU steal. Modern CPUs with better IPC can outperform older chips at the same clock speed.