Lodehost logoLodehost

Performance and fixes

What the Can't keep up line in your console is telling you

Sooner or later a warning turns up in the console saying the server cannot keep up and is running thousands of milliseconds behind. It sounds alarming, and sometimes it is. Often it is one heavy moment that has already passed. The line itself tells you more than most people read into it, and a few minutes of measuring tell you which of the two you are dealing with.

8 min read

A timeline of ticks sliding past a row of deadlines, with a gap marked as two seconds behind
The warning is about a timetable: it appears once the server is more than two seconds late.

The line, and what its two numbers say

Console

Can't keep up! Is the server overloaded? Running 5023ms or 100 ticks behind

A Minecraft server works from a timetable. At the normal rate it plans one tick every 50 milliseconds, and after each tick it waits until the next one is due. When ticks take longer than planned, it stops waiting and runs them back to back to get on time again. The warning appears when that does not work and the gap has grown too large.

Part of the lineWhat it means
Running 5023msHow far the server is behind its own timetable at the moment it checks
or 100 ticks behindThe same gap counted in ticks: the milliseconds divided by the length of one tick, rounded down
Is the server overloaded?A question, not a finding. The game only knows it is late, not why

Right after printing, a vanilla server gives up on those ticks. It moves its timetable forward by the number in the line and carries on from there, so the 100 ticks in the example never happen. Five seconds of crop growth, smelting and mob movement are simply gone for everyone online, which is why players notice a jump rather than a slow patch.

Server work taking longer than the Minecraft tick schedule allows
The warning means the server is falling behind its tick schedule. Identify the workload or resource constraint before deciding what to change. View larger.

When the warning appears, and how often

The game has two conditions, both built into the server. The gap has to be larger than one second plus twenty ticks, which is two seconds at the normal rate. And since the previous warning at least ten seconds plus a hundred ticks must have passed on the timetable, which is fifteen seconds. That explains why the number in the line is never much below 2000 at 20 ticks per second.

It also explains how late the warning comes. If every tick takes 60 milliseconds, the server falls 10 milliseconds behind per tick, and it takes 200 ticks, about twelve seconds of real time, before the gap even reaches two seconds. Players have been feeling it for a while by then.

A quiet console is not proof of a healthy server

Ticks of 48 milliseconds, or a stall of a second and a half every minute, never produce the line. Players still feel both. Judge the server by its tick times, and use the warning as a hint that it is worth measuring.

Two commands change the picture. tick rate sets a different number of ticks per second, which changes the length of a tick and with it both thresholds: at 10 ticks per second a tick lasts 100 milliseconds and the warning waits for a gap of three seconds. During tick sprint the check is skipped altogether.

Paper and Purpur no longer print it

Paper removed the warning in its builds for 1.21.9, together with a new way of handling late ticks. After a spike, Paper runs at most a few missed ticks back to back, five unless catchup-ticks in paper-global.yml says otherwise, and drops the rest without a word. Purpur builds on Paper and behaves the same. So if you moved to a recent Paper version and the line disappeared, the lag did not.

Server typePrints the warningCheck tick times with
VanillaYestick query
Fabric, Forge and NeoForgeYestick query, or spark as a mod
Paper and Purpur, 1.21.9 and newerNomspt and spark tps
Paper and Purpur, older versionsYesmspt and spark tps

One line, or a line that keeps coming back

The pattern tells you more than the number. Scroll back through the console and note the times of each warning, then compare them with what was happening on the server.

What you seeWhat it usually meansWorth acting on?
A single line, then nothing for hoursOne stall of more than two seconds: a datapack reload, a large WorldEdit paste or a long memory pauseUsually not, unless it lines up with a moment players complained about
Lines only while someone flies or explores far awayNew terrain being created as fast as the player travelsYes, and the fix is known: generate the land ahead of time
Lines about every fifteen to twenty seconds, all eveningTicks are too slow all the time: a farm, too many entities, a plugin or modYes, profile it while it happens
Lines that stop the moment one player logs offSomething near that player: their base, their farm, their machinesYes, and you already know where to look

A server that is late all the time prints the line again and again, because after each warning the gap starts from zero and fills up at the same speed. A number that keeps growing from one line to the next means the ticks are getting slower as the evening goes on, which points at something that builds up, such as items on the ground or a mob farm without a cap.

Measure the ticks instead of counting warnings

Open the Console tab while the lag is happening and ask the server directly. In the game the same commands take a slash in front.

Console

tick query
mspt
spark tps
  • `tick query` is part of the game itself since 1.20.3, so it works on vanilla, Paper, Purpur and the modded types alike, and it needs operator level 3 in the game. It shows the target rate, the average time per tick and the 50th, 95th and 99th percentile. When the server is late it adds The game is running, but can't keep up with the target tick rate.
  • `mspt` is Paper's own command, also on Purpur. It prints the average, the fastest and the slowest tick over the last 5 seconds, 10 seconds and minute, green below 40 milliseconds, yellow from 40 and red from 50.
  • `spark tps` gives tick rates and durations side by side. Paper and Purpur include spark; on Fabric, Forge and NeoForge you add it as a mod, and it has builds for 26.2 on all three.

Look at the slowest ticks as well as the average. An average of 30 milliseconds with a maximum of 2,500 is a server that is fine except for one stall, and that is exactly the case where the old warning would have printed a single line.

A routine to find the cause tonight

  1. Write down when it happens

    Note the time of the warnings, or of the complaints on Paper, and who was online and where. Most causes give themselves away here.

  2. Take the tick times during the lag

    Run tick query or mspt while players feel it. High averages mean steady overload. A normal average with a huge maximum means spikes.

  3. Rule out memory pauses

    Run spark gc. Long collections that line up with the warnings point at memory, and the RAM guide covers what to do about that. Short ones rule it out.

  4. Catch the slow ticks

    Start spark tickmonitor --threshold-tick 100, which reports each tick that takes longer than 100 milliseconds and so fills the gap the removed warning left on Paper. For the cause, run spark profiler start --only-ticks-over 100 --timeout 600 and follow the spark guide through the report.

  5. Change one thing and measure again

    Fix the largest item in the report first, then repeat the tick times on a similar evening. Two changes at once leave you guessing which one worked.

Console

spark gc
spark tickmonitor --threshold-tick 100
spark profiler start --only-ticks-over 100 --timeout 600
The report points atWhere to go next
Chunk generationGenerate the world ahead of time and set a world border
Entities and block entities around one baseShrink the farm, and see what keeps chunks loaded
The area around every playerLower the simulation distance, as the view and simulation distance guide explains
Paper settings for mobs, items and hoppersThe Paper settings guide

What does not make the warning go away

  • Raising the Watchdog (ms) value. The field in the Performance group of the Settings tab writes max-tick-time, 60000 by default. It only decides how long a single tick may hang before a vanilla, Fabric, Forge or NeoForge server considers itself crashed and shuts down. Paper and Purpur ignore it and use timeout-time in spigot.yml, 60 seconds by default. Neither makes a tick shorter; keep the panel value at 60000 or above, as the warning under the field says.
  • More memory by default. A tick runs on one thread, and unused memory does not speed that thread up. It helps only when spark gc shows long pauses.
  • Hiding the line. warn-on-overload: false in bukkit.yml silences the warning where it still exists. The ticks are exactly as late as before.
  • Lowering the tick rate. tick rate 10 pushes the threshold out, but it also halves the speed of the whole game for everyone.
  • Turning off catch-up on Paper. catchup-ticks: 0 stops Paper from running missed ticks back to back. That smooths nothing; it only means more ticks are dropped.
  • Restarting. A restart clears the loaded area for a moment, and the lag returns as soon as the same farm is loaded again or the same explorer sets off.

Written and checked by the Lodehost team, last reviewed on 14 September 2026.

FAQ

Questions about the overload warning

Is Can't keep up harmful to my world?

The line itself changes nothing in your saves. What you lose are the ticks the server skipped, so farms, furnaces and crops stood still for those seconds.

Why does my Paper server lag without showing Can't keep up?

Paper stopped printing that line from 1.21.9 on. Run mspt during the lag; values in red, from 50 milliseconds, are the same problem the warning used to report.

How many ms behind is too much?

The size of one number matters less than how often it returns. A single 8000ms after a big paste is one stall; 2500ms every twenty seconds is a server that is late all evening.

Does Can't keep up mean my plan is too small?

Not on its own. Most overload comes from what the server is asked to tick, and a profile shows that. Compare plans only once the tick times are clean and the server is still too busy.

Can one player cause the overload warning?

Yes. Flying into new land with elytra, a mob farm without limits or thousands of items on the ground can all be one player's doing. Warnings that stop when that player leaves are the giveaway.

The warning is about tick time, so start there.

Our performance page explains what fills a 50 millisecond tick and which parts of a server decide how much of it is left.

Read about performance