How to Fix 'Can't Keep Up' and Tick Loop Crashes on Your Minecraft Server

Diagnose and fix Can't keep up warnings and Exception in server tick loop crashes on your Minecraft Java server.

"Can't keep up! Is the server overloaded?" means your server is falling behind on game ticks (Minecraft runs 20 ticks per second; missing this target = lag). When the lag is severe enough — or a single tick takes longer than max-tick-time (60 seconds by default) — the watchdog kills the server with an "Exception in server tick loop" crash.

This guide covers both the warning and the crash. The fix process is the same: find what's eating tick time, then reduce it.

Symptoms

SymptomSeverity
Occasional "Can't keep up" during world generationNormal — ignore
Constant "Can't keep up" during gameplayBad — fix the underlying lag
TPS below 15 in /spark tpsBad — players will feel it
Exception in server tick loop crashCritical — server died
Watchdog Thread/ERROR in logsCritical — single tick exceeded max-tick-time

Diagnose with Spark

The fastest way to find what's causing tick lag is the Spark profiler.

Install Spark

Drop the Spark JAR into your plugins/ (Paper/Spigot) or mods/ (Forge/Fabric) folder and restart. Full guide: Setup Spark.

Check current TPS

In Console or in-game:

/spark tps

If TPS is below 18 sustained, you have a problem.

Run a profiler

/spark profiler start

Wait 2–5 minutes during normal gameplay (or during the lag spike), then:

/spark profiler stop

Spark generates a web link. Open it.

Read the report

Look for the largest self-time entries. Common culprits:

What you seeCause
ServerChunkCache.tick / ChunkMapToo many loaded chunks — lower view-distance
EntityType.tick for one typeMob farm — too many of that mob
LevelChunk.tickBlocksHeavy redstone or fluid ticks
A specific plugin/mod classThat plugin/mod is the problem
GarbageCollectorRAM pressure — increase RAM or fix leak

Common Causes and Fixes

Too Many Entities (Mob Farms)

Big mob farms with hundreds of mobs are the #1 lag source on most servers.

Fix:

  • Install ClearLagg to auto-clear ground items and entities
  • Install FarmControl to cap mob farms
  • Lower entity activation range in spigot.yml:
entity-activation-range:
  animals: 16
  monsters: 24
  misc: 8
  • Reduce mob-spawn-range in spigot.yml from 8 to 6
  • Set per-chunk entity caps in paper-world-defaults.yml

See Mob Spawn Rate.

Chunk Generation Lag

When players explore new areas, the server generates new chunks — which is the most CPU-intensive thing Minecraft does.

Fix: Pre-generate the world with Chunky:

/chunky radius 5000
/chunky start

Run overnight before opening the server to players.

Heavy Redstone

Large redstone machines (item sorters, factory contraptions, music boxes) can eat 50% of a tick on their own.

Fix:

  • Use Paper's redstone optimizer (config/paper-world-defaults.ymlredstone-implementation: ALTERNATE_CURRENT)
  • Switch to a redstone-optimized JAR like Purpur
  • Simplify or remove the worst offender (Spark will name the chunk)

Bad Plugin or Mod

A single broken plugin or mod can tank an entire server.

Fix: Read the Spark profiler — it names the plugin/mod by package. Update or remove it.

Insufficient RAM (GC Pauses)

If GC pauses are eating tick time, you'll see GarbageCollector near the top of Spark.

Fix:

  • Apply Aikar's Flags
  • Right-size your RAM (see How Much RAM) — both too little and too much cause issues
  • Find memory leaks with /spark heapdump

High View-Distance

View-distance has a quadratic effect on chunk count and a linear effect on per-tick work.

Fix: Lower view-distance to 6–8 and simulation-distance to 4–6 in server.properties. See Render Distance.

Stop Watchdog Crashes (Exception in server tick loop)

When a single tick exceeds max-tick-time (default 60000 ms = 60 seconds), the watchdog kills the server.

Temporary workaround

Increase or disable the watchdog in server.properties:

max-tick-time=120000

Or to disable entirely (not recommended):

max-tick-time=-1

Warning: Raising max-tick-time doesn't fix the lag — it just hides the symptom. Use it as a temporary measure while you find the real cause with Spark.

Real fix

Find the operation that took 60+ seconds in Console at the time of the crash. The watchdog logs a thread dump showing exactly what was running. Common culprits:

  • A plugin loop with no exit condition
  • A worldedit operation on millions of blocks
  • A mod doing synchronous I/O on the main thread
  • A broken pathfinding loop on a huge mob

Quick Wins Checklist

  1. ✅ Lower view-distance to 8, simulation-distance to 6
  2. ✅ Apply Aikar's Flags
  3. ✅ Pre-generate chunks with Chunky
  4. ✅ Install Spark and identify the top offender
  5. ✅ Switch to Paper if not already
  6. ✅ Install ClearLagg + FarmControl

Most servers see a 2–3× TPS improvement from these alone.

Common Mistakes

MistakeFix
Increasing RAM as the first responseRAM rarely fixes tick lag — find the cause first
Disabling the watchdogHides the problem, doesn't fix it
Removing all pluginsThe problem is usually one plugin — Spark will name it
Ignoring "Can't keep up" warningsThey're a leading indicator of a future crash
Restarting in a loopFix the cause — restarts won't help

How is this guide?

40% Off — Limited TimeGet your Minecraft server todayInstant setup, DDoS protection, and 24/7 support included.
Get a Server

On this page