Know which number is actually low
TPS (ticks per second) is the server’s heartbeat, and the target is 20. When the console prints “Can’t keep up! Is the server overloaded?”, TPS has dropped and the server is CPU-bound.
FPS is a client-side number and is unrelated to the host. Adding RAM does not raise TPS on a CPU-bound server, so diagnose before you buy resources.
Trim the biggest CPU costs first
- Lower view-distance in server.properties to around 8–10.
- Lower simulation-distance to around 6–8 — this is usually the most expensive setting.
- Find and cap entity-heavy builds: large mob farms, item-drop piles and oversized redstone or automation.
- On Paper/Purpur, reduce mob spawn limits and increase spawn tick intervals in the world configuration.
Pre-generate the world
Most exploration lag comes from generating brand-new chunks while players move. Pre-generating the world in advance moves that one-time cost off the live server, so players are walking into already-built terrain.
When it really is memory
Constant near-full memory or an OutOfMemoryError in the log is a different problem from low TPS. That points to sizing up or reducing loaded content. The diagnostic tools separate memory pressure from CPU stalls so you fix the right one.