NewSchokr 13 is here. A whole new UI, seven locations, snapshots and more. Read more →

"Can't keep up! Is the server overloaded?" explained

What the Minecraft Can't keep up warning means, when you can ignore it, and how to fix the lag behind it when it keeps appearing.

Updated · 2 min read

"Can't keep up! Is the server overloaded?" means the server fell behind its 20 ticks per second target and is skipping ticks to catch up. One message during startup is normal. Repeated messages while players are online mean the server is lagging.

What the message means

[Server thread/WARN]: Can't keep up! Is the server overloaded? Running 4521ms or 90 ticks behind

Minecraft aims for 20 ticks per second, or 50 ms per tick. When ticks take longer than that and the server falls more than a couple of seconds behind, it prints this warning and skips the missed ticks. The numbers tell you how far behind it fell; here, about 4.5 seconds or 90 ticks.

When it is harmless

  • During startup or world loading. The first few seconds after start are heavy while chunks load and plugins initialize.
  • Once in a while during autosave or a big event, like a huge explosion or a player teleporting into new terrain.
  • Right after a long operation, such as a large WorldEdit change or a big chunk pre-generation step.

If it shows up a few times a day and players do not notice lag, you can ignore it.

When it is a problem

If it appears every few minutes, or players report rubber-banding, slow mobs and blocks coming back after breaking, the server is overloaded. Check how bad it is:

/tps
/mspt

See TPS and MSPT explained.

Common causes

CauseSign
Players exploring new terrainWarnings when people fly with elytra or explore far out.
Too many entitiesBig mob farms, dropped item piles, crowded animal pens.
Heavy redstone or hopper buildsLag near specific builds.
A plugin or mod doing too much workShows up clearly in a spark profile.
Not enough CPUHigh CPU usage in the console graphs during lag.
Not enough memoryFrequent garbage collection, memory always near the limit.

How to fix it

  1. Profile it. Run /spark profiler start --only-ticks-over 100, wait for a few warnings, then /spark profiler stop. The report shows what caused the slow ticks. See how to use spark.
  2. Pre-generate the world so exploration does not trigger chunk generation. See pre-generate with Chunky.
  3. Lower simulation distance in server.properties, for example to 6.
  4. Reduce entities and tune Paper. See Paper config optimization.
  5. Check resources. Your team shares 150% CPU and 6 GB memory on the free package. Make sure this server has a fair share of both, or add more with store upgrades.

For the full checklist, see how to reduce lag.

"The server has stopped responding!"

If a single tick takes extremely long, the server's watchdog stops it on purpose and prints a thread dump. That is the extreme version of the same problem. Read the dump in latest.log: the lines under the server thread show what it was stuck on, often a specific plugin or a huge operation like a WorldEdit edit.