### [Minecraft开服常见故障排查:TPS暴跌、内存溢出与插件冲突解决](https://www.jiyueip.com/article/7792) **Published:** 2026-07-22T03:01:37 **Author:** 斑斓助理 **Excerpt:** MC服务器玩着玩着卡成PPT?玩家集体掉线?本文梳理 Paper/原版服最常见的五大故障——TPS暴跌诊断、内存溢出(OOM)修复、插件冲突定位、区块加载卡顿和连接超时。 Minecraft 服务器开得久了,各种「卡」「崩」「掉」三连——玩家报卡、日志报错、内存吃满。多数问题有规律可循,不用每次从头排查。下面把最常遇到的五类故障的诊断方法和修复步骤整理出来。 ## 一、TPS 暴跌:服务器变慢的根本原因 TPS(Ticks Per Second)是衡量 MC 服务器性能的核心指标,正常值 20。低于 18 开始有感知延迟,低于 15 就明显卡顿了。 ### 怎么看 TPS - Paper 自带:控制台输入 `/mspt` 或 `/tps` - 详细分析:`/timings report` 生成一份 HTML 报告,精确到每个插件、每个区块的耗时占比 - Spark 插件:`/spark profiler --timeout 300` 采集 5 分钟的 CPU 分布,比 timings 更底层 ### 常见原因与修复 | 原因 | 诊断 | 修复 | | --- | --- | --- | | 实体/生物过多 | timings 里 entity tick 占比高 | 限制养殖数量,加 ClearLag 插件定时清理 | | 红石机器高频运转 | 特定区块 CPU 高 | 用 /paper chunkinfo 定位,关掉或降频 | | 插件性能差 | timings 里某插件耗时占比异常 | 换性能更好的替代品或去插件社区查 issue | | 视野/模拟距离太大 | server.properties 的 view-distance 超过 12 | 降到 8-10,simulation-distance 设 6 | | 内存不足、频繁 GC | 日志里 GC 停顿超过 200ms | 见下文「内存溢出」部分 | timings 报告是最重要的诊断工具——不用猜,看数据说话。哪个插件占了 40% 的 tick 时间,卸掉或换掉。 ## 二、内存溢出(OOM)与 JVM 参数修正 症状:服务端突然崩溃,日志末尾看到 `java.lang.OutOfMemoryError: Java heap space`。 ### 根因 - \-Xmx 给太小,玩家多了内存不够; - \-Xmx 给太大(超过 12G),GC 全停顿反而变长,TPS 更差; - 内存泄漏——某些插件越跑占用越高,从不释放。 ### 修复 \# 推荐参数(Paper 1.21,4G 内存) java -Xms4G -Xmx4G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:InitiatingHeapOccupancyPercent=15 -jar paper.jar nogui G1NewSizePercent 和 InitiatingHeapOccupancyPercent 这几个参数对 MC 这类「大量短期对象」场景特别有效——让 G1 更早介入年轻代回收,减少全堆停顿。 ## 三、插件冲突与报错定位 症状:装了新插件后服务器起不来、或者某功能突然失效、或者日志里刷 `NullPointerException`。 排查步骤: - **二分法**:卸掉一半插件→重启→看问题还在不在,逐级缩小范围; - **看日志栈**:`NullPointerException` 下面那堆 `at com.xxx.plugin` 就是肇事者; - **看 Paper 兼容性**:有些插件只支持 Spigot 不完全兼容 Paper,去插件页面确认; - **版本匹配**:插件版本必须和服务端 MC 版本一致,一个数字对不上就可能崩。 ## 四、区块加载卡顿 症状:玩家走到未探索区域时全服卡一下(区块生成),或者进传送门跨维度时卡顿。 解决方案: - 预生成地图——用 Chunky 或 WorldBorder 插件在开服前把地图预先生成一遍,上线后玩家走到哪都不卡; - Paper 的 `paper.yml` 里设 `max-auto-save-chunks-per-tick` 为一个较低值(默认 24 可能太高); - 把 maps 目录大小控制住——地图越跑越大,磁盘慢了 I/O 就卡。 ## 五、玩家连接超时/掉线 症状:有人能进有人进不去、或者进去一会儿就掉。 - 安全组/ufw 只开了 TCP 没开 UDP?Java 版也是 TCP 但某些插件需要额外端口; - 网络超时:`server.properties` 里 `max-tick-time` 设 -1(Paper 默认-1禁用,Spigot 默认 60000 毫秒超时); - 读超时——玩家网络差,调大 `read-timeout`。 如果用的是雨云游戏云,检查安全组确保 25565 端口对公网开放,同时检查服务器带宽是否被吃满——本站联机网络优化那篇有详细排查方法。 ## 常见问题 关于 MC 开服排障的高频疑问,下面一并解答。 **Tags:** 云服务器, 服务器运维, 雨云 **Categories:** 行业洞察 ---