跳到主要内容

JVM 优化

这篇文章可以说是整个笨蛋文档中编写历时最久的(),为了确保正确性,我们在Windows和Linux 上进行了大量性能测试,结果可以说是十分出人意料

这场测试的细节和日志,报告,Spark,GCLog等可以在Test - Java找到

Java 选择

Zulu的性能

根据官方对 Zulu 的定位,Zulu 的重点是安全性和稳定性,而非性能

大部分人对Zulu 性能好这一错误看法主要是来源于同一公司 Azul 旗下的另一款产品 Zing

该产品(Zing)的主要侧重点是性能,但是,如果你不想折腾,想拥有一个超高稳定性的环境,Zulu 仍然是你的最佳选择

兼容性

根据我们的测试,GraalVM,Dragonwell,Zulu 目前都没有被报告过不兼容

Zing 与 LuckPerms 以及一些特殊插件会有一点不兼容

OpenJ9 虽然内存占用很低,但是性能很差,并且与很多插件有不兼容(比如 Spark)

GraalVM 在 22.3.0 修复了所有已知的 Minecraft 错误

下载

Dragonwell 分为 Standard Edition 和 Extended Edition,推荐下载 Extended Edition

垃圾回收器

经过我们的多次测试,G1GC和ZGC 最适合MC服务器(还有一个 Zing C4)

选择!

ZGC 的无停顿可以给玩家带来更好的体验,并且更充分的利用多核。

注意

虽然ZGC在高版本上 Java 表现良好,但是某些 Java 上会造成反效果(如 GraalVM),参见各个 Java 的具体配置介绍。

对于 GC 细节性的优化请阅读每个Java的优化指南