突然卡顿和 Can`t keep up
诊断周期性服务器卡顿:垃圾回收、自动保存、计划任务和外部原因。
更新于 2026年8月13日
平均 TPS 正常,但每隔几分钟服务器就会卡顿 1–5 秒。
按出现频率排列的候选原因
- 垃圾回收。 定期周期性卡顿最常见的原因——垃圾回收器。
- 世界自动保存。 在世界较大且磁盘已满时尤其明显——自动保存。
- 计划任务: 备份、地图渲染、高负载命令——计划任务、Dynmap。
- 带有周期性任务的插件: 每分钟检查一次所有玩家、保存数据、调用外部 API。
- 区块生成,发生在玩家跑图时——区块加载。
如何定位
运行性能分析器并等待卡顿出现:
spark profiler start --timeout 600
报告会显示卡顿发生的那一刻正在执行什么——Spark。
将卡顿时间与任务计划进行对比:如果精确到分钟都能对上,那就是答案。
Can't keep up
日志中的 Can't keep up! Did the system time change, or is the server overloaded? 表示某个 tick 的耗时远超 50 毫秒。这是结果,而不是原因——详细解析。
什么没有用
每隔几小时就更频繁地重启只是在掩盖问题。它只对内存泄漏有效,而且也只是暂时有效——内存。
Minecraft 托管您离线时服务器仍在运行创建服务器
