Your control panel shows CPU usage creeping toward 100% and your server starts lagging. But what is CPU usage actually measuring on a game server? Why do game servers hit high CPU even with only a few players online? And most importantly — what can you actually do about it?
This guide covers everything: what CPU usage means in the context of game servers, the critical difference between single-threaded and multi-threaded workloads, what causes high CPU usage, and every practical fix you can apply right now.
The CPU (Central Processing Unit) is the brain of your server. Every calculation that keeps the game running passes through it: moving and simulating entities, processing player inputs, running game logic and physics, executing plugin and mod code, generating new world chunks, and managing all connected player sessions simultaneously.
Unlike RAM, which is a storage resource, CPU is a rate resource. It's not about how much you have — it's about how fast you can process work per unit of time. When your server has more work to do in a tick than the CPU can finish in 50ms (the time budget for one 20 TPS tick), TPS drops and lag appears.
This is the most important thing to understand about game server CPU performance, and it's not obvious from looking at a CPU usage meter.
Most game servers — including Minecraft — run their core game loop on a single thread. This means that no matter how many CPU cores the server has, the main game logic can only use one of them at a time. The reason is game state consistency: allowing multiple threads to read and modify the same world data simultaneously would require complex locking mechanisms and creates impossible-to-debug race conditions. It's far safer and more predictable to process everything in a single ordered sequence.
How a Minecraft server uses CPU threads
The main thread is the bottleneck. More cores only help background tasks — not the core TPS loop.
What this means practically: a fast single CPU core is more valuable than many slow cores for game server performance. A server with a 5GHz dual-core CPU will outperform one with a 2GHz eight-core CPU for game hosting purposes. When evaluating hosting options, look for CPU clock speed and IPC (instructions per clock) rather than core count.
Modern Paper and Folia (for Minecraft) do offload some work to additional threads — chunk generation, I/O, and some plugin tasks run async — but the core entity simulation and game logic remains single-threaded. This is a fundamental architectural constraint, not something configuration can change.
When your control panel shows "CPU: 180%", what does that mean? Hosting panels typically express CPU as a percentage of a single core. So:
FreeGameHost allocates 200% CPU to all servers, meaning two full cores are available. The main game thread will saturate one core during heavy load, while background threads (chunk I/O, network, async plugin tasks) use the second.
Every entity in the game world — mobs, dropped items, minecarts, arrows, boats — is processed every single tick. A server with 500 cows in a farm, 1,000 dropped items on the ground, and 200 active monsters is doing enormous amounts of calculation per tick. Entity processing is consistently the #1 cause of high CPU usage on game servers.
Large redstone contraptions, automatic mob farms, and item-sorting systems create constant CPU work even when no players are nearby. A single large redstone clock running constantly can measurably impact TPS. Hoppers are especially expensive — each hopper checks for items to move every tick, and a row of 50 hoppers creates 50 checks per tick continuously.
A poorly written plugin that runs synchronous database queries, scans large data sets, or runs expensive operations on the main thread every tick can single-handedly destroy TPS. This is one of the hardest causes to identify without a profiler because it's invisible from the outside.
Generating new chunks is one of the most CPU-intensive operations a game server performs. When multiple players explore new areas simultaneously, the server must generate and load multiple chunks per second. On an unexplored world, this can push CPU usage to maximum and cause sustained TPS drops until generation completes.
A higher view distance means the server must keep more chunks loaded and simulate more entities in those chunks. Every increase in view distance exponentially increases the area of world being simulated, not linearly — going from 10 to 12 chunks view distance loads nearly 50% more chunks.
In server.properties, reduce view distance to 6–8 and simulation distance to 4–5. Simulation distance in particular is critical — it controls how far from players entities are actually ticked and processed. Reducing it dramatically cuts the entity processing load on the main thread:
In bukkit.yml, reduce the maximum number of entities the server will spawn. Fewer entities means fewer calculations per tick. This is one of the highest-impact single changes you can make:
Eliminating real-time chunk generation removes one of the biggest CPU spikes a server experiences. Use the Chunky plugin to pre-generate the area players will realistically explore:
Run this overnight. After pre-generation, set a world border at the same radius so new chunks are never generated during play.
You need to know which plugin or system is burning CPU before you can fix it. Spark is the best tool available:
Open the generated report link. The flame graph shows exactly which method calls consume the most CPU time. Look for any plugin that appears in the top 5% of CPU usage and either update it, replace it with a lighter alternative, or remove it if it's not essential.
Hoppers are disproportionately expensive. In paper.yml, you can reduce how frequently hoppers check for items, with minimal impact on their actual function:
Dropped items on the ground are individual entities each requiring CPU time. Configure them to despawn faster or merge more aggressively. In paper.yml:
If you're running vanilla Minecraft, switching to Paper is the single biggest performance upgrade available. Paper includes async chunk generation, smarter entity scheduling, optimised pathfinding, and dozens of configurable performance settings that vanilla simply doesn't have. Purpur extends Paper further with additional tuning options. Both are drop-in replacements for vanilla — your world data transfers with no changes needed.
Both matter, but they're bottlenecks in different scenarios. Understanding which one is limiting your server helps you fix the right problem:
FreeGameHost includes 200% CPU allocation on all free servers — two full cores for your game, completely free.
Create Your Free Server →Related: How Much RAM Does a Game Server Need? • How to Reduce Server Lag • What is a Dedicated Game Server?