
Fix "Can't keep up! Is the server overloaded?" in Minecraft
This warning shows up in the server console when the game loop falls behind. More RAM is the usual first reaction and rarely the fix; a three-minute spark profile tells you what the fix is.
The server has fallen more than 2 seconds behind its schedule of 20 ticks a second and skipped the ticks it missed. The line never says why, so profile the server with spark while it lags, paste the link into our Spark Report Analyzer, and fix what it names: new chunks, entities, one plugin or mod, simulation distance or a full heap.
What the warning means
Minecraft runs on a fixed clock of 20 ticks a second, one tick every 50 ms (minecraft.wiki). Every tick the server checks how far it is behind schedule. On vanilla, once the gap passes 2 seconds, it logs this line and moves its schedule forward, so the missed ticks are skipped, not replayed.
[Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2045ms or 40 ticks behindThe two numbers are the same gap, once in milliseconds and once in ticks: 2045 ms divided by 50 ms is 40 ticks. The server prints the line at most once every 15 seconds. One line while someone explores new ground is a hitch. A line every 15 seconds means the server is behind the whole time and the log is only rate-limiting it.
On Paper 1.21.9 and newer you will not see it at all. Paper replaced vanilla's catch-up code with its own: after a spike it catches up at most 5 ticks and logs nothing (on 26.2 and newer the 5 is catchup-ticks in config/paper-global.yml). Paper 1.16.5 to 1.21.8 still prints it, but later than vanilla: from about 2.5 seconds behind on 1.20.4 and newer, and from 5 seconds (at most every 30 seconds) on 1.20.2 and older. A quiet Paper console does not prove the server is keeping up, so measure instead.
Check how far behind the server is
Open Console in the panel and run one of these. tick query is built into vanilla since 1.20.3, and spark tps works anywhere spark is installed.
tick queryspark tps
tick query prints the average time per tick and its percentiles. A server holds 20 TPS only while a tick takes 50 ms or less, so an average above 50 ms is steady lag. A normal average with a very high top percentile is a server that freezes now and then. On a lagging vanilla server the status line reads "The game is running, but can't keep up with the target tick rate".
Find the cause with spark
spark is a free profiler. It samples what the server thread is doing many times a second and uploads the result as a link you can share.
- 1Get spark. Paper 1.21 and newer has it built in. On Forge, NeoForge or Fabric, put the spark mod from CurseForge for your loader and Minecraft version in the
modsfolder (adding mods to your server), then restart. - 2Wait until the server is lagging, then run
spark profiler startin Console. A profile of a quiet server shows nothing. - 3Leave it running for three minutes so it catches mob spawning and periodic plugin work, then run
spark profiler stop. spark prints a spark.lucko.me link. - 4Paste the link into the Spark Report Analyzer. It names the plugin or mod eating the tick, how much of the tick it takes, and the fix, in plain English.
If the server runs fine between short freezes, profile only the slow ticks with spark profiler start --only-ticks-over 100, which records samples only from ticks longer than 100 ms.
Fix what the profile shows
New chunks being generated
If the warnings follow players into unexplored land, the server is generating new chunks. Chunky's authors note that most servers pre-generate the world to avoid lag from loading chunks. Pre-generating a Minecraft world walks through it in the panel.
Too many entities, farms and hoppers
minecraft.wiki lists large numbers of mobs, redstone dust and hoppers among the usual causes of server lag. A hopper keeps searching for items above it until you cover it with a solid block or a composter. Shrink the farm the profile points at and cover hoppers that do not need to pull from above.
One plugin or mod
When one add-on takes a large share of the tick, update it first and profile again. If it is already current, look for range or refresh settings in its config, then profile again with it removed to confirm the cost goes away.
Simulation distance
simulation-distance in server.properties sets how many chunks around each player the server ticks. The default is 10, and minecraft.wiki recommends lowering it when the server lags. View and simulation distance has values by player count.
A full heap and garbage collection
More memory helps only when the heap is nearly full and Java keeps pausing to collect garbage. spark gc shows the collection history. If collections are frequent, size the server with the RAM calculator and check your startup flags against Aikar's flags. If they are not, extra RAM will not remove the warning.
When the server itself is the limit
Sometimes the profile shows no single plugin, mod or farm, only ordinary game work spread across the tick. Then the hardware is the limit. minecraft.wiki's server requirements ask for a CPU with good single-core performance and note that the server typically uses three cores at most, so a faster core helps where extra cores do not.
That is when the fix is hardware, not config: Minecraft server hosting on a faster core. Every CraftLands plan runs on an AMD Ryzen 9 9950X boosting to 5.7 GHz, and an existing server moves between 4 GB and 128 GB of RAM from the panel without a reinstall.
On a modpack: ATM10, Prominence II, Cobblemon
A modpack puts hundreds of mods on the same tick: All the Mods 10 release 8.2 ships 491 of them. The steps above work the same way, and spark's CurseForge page has builds for each of these packs' loaders and Minecraft versions. Check the heap too. Our pack pages size each pack from its floor with nobody online, plus about 0.2 GB per player: 12 GB for All the Mods 10, 6 GB for Prominence II and 4 GB for Cobblemon.

All the Mods 10
NeoForge · 1.21.1NeoForge on Minecraft 1.21.1, 491 mods in release 8.2. Needs 12 GB before anyone joins, plus about 0.2 GB per player.

Prominence II
Fabric · 1.20.1Prominence II: Hasturian Era on Fabric 1.20.1. Needs 6 GB before anyone joins, plus about 0.2 GB per player.

Cobblemon
Fabric · 1.21.1Cobblemon Official Modpack 1.8.1 on Fabric 1.21.1. Needs 4 GB before anyone joins, so ten players land on about 6 GB.
Don't raise max-tick-time
Some videos tell you to set max-tick-time=-1 in server.properties. That setting is the watchdog: when a single tick takes longer than it (60000 ms by default), the server shuts itself down with "A single server tick took 60.00 seconds", and -1 turns the watchdog off. It does nothing for this warning or the lag behind it; it only keeps a frozen server running. Why your server keeps crashing covers watchdog crashes.
Does "Can't keep up" happen in singleplayer?
What does "Did the system time change, or is the server overloaded?" mean?
Where to go next
- How to fix Minecraft server lag: the wider checklist when players report lag but the console stays quiet.
- Spark Report Analyzer: profile again after each change and compare the two reports.


