Can't Keep Up!
The console fills with 'Can't keep up! Is the server overloaded?' and the game feels laggy, blocks break slowly, mobs stutter. This is a performance (TPS) problem: the server cannot finish each game tick within the 50 ms budget.
What does this error mean?
Minecraft aims for 20 ticks per second (one every 50 ms). When a tick takes longer, the server falls behind and prints how many milliseconds it skipped. Sustained messages mean the server is genuinely overloaded, not just a one-off hiccup.
Server overloaded
Most Common Causes
- A CPU with weak single-thread performance, the main game loop is largely single-threaded.
- Too many loaded entities (mob farms, item drops, projectiles).
- Constant new world generation from players exploring.
- A heavy or poorly optimized plugin/mod.
- Slow disk I/O or long garbage-collection pauses.
How To Diagnose
- Install the spark profiler and run '/spark profiler' to see what consumes tick time.
- Check '/tps' (Paper) for the real tick rate over time.
- Watch the console: a one-time spike on boot is normal, continuous messages are not.
- Monitor CPU usage, a single pegged core confirms a single-thread bottleneck.
Recommended Fixes
- Switch to Paper or Purpur
These forks add major performance optimizations over vanilla and Spigot. - Profile and remove hotspots
Use spark to find the worst plugin/mod or chunk and address it directly. - Lower view and simulation distance
Reducing these in server.properties cuts the per-tick workload significantly. - Cut entity load
Limit mob farms, clear dropped items, and tune mob-spawn settings.
Frequently Asked Questions
A single message at startup or after a save is harmless. Repeated messages during play mean real lag.
TPS is ticks per second (20 is ideal). 'ms behind' is how far a slow tick overran its 50 ms budget.
Usually not. TPS lag is almost always CPU or workload-bound, not memory-bound.