JVM 优化
这篇文章可以说是整个笨蛋文档中编写历时最久的(),为了确保正确性,我们在Windows和Linux 上进行了大量性能测试,结果可以说是十分出人意料
这场测试的细节和日志,报告,Spark,GCLog等可以在Test - Java找到
Java 选择
根据官方对 Zulu 的定位,Zulu 的 重点是安全性和稳定性,而非性能
大部分人对Zulu 性能好
这一错误看法主要是来源于同一公司 Azul 旗下的另一款产品 Zing
该产品(Zing)的主要侧重点是性能,但是,如果你不想折腾,想拥有一个超高稳定性的环境,Zulu 仍然是你的最佳选择
根据我们的测试,GraalVM,Dragonwell,Zulu 目前都没有被报告过不兼容
Zing 与 LuckPerms 以及一些特殊插件会有一点不兼容
OpenJ9 虽然内存占用很低,但是性能很差,并且与很多插件有不兼容(比如 Spark)
GraalVM 在 22.3.0 修复了所有已知的 Minecraft 错误
下载
- Dragonwell
- GraalVM
- Azul Zing
- Azul Zulu
- OpenJ9
Dragonwell 分为 Standard Edition 和 Extended Edition,推荐下载 Extended Edition
- 官网 下载区域选择
China Mainland
- Dragonwell 8 预览
- Dragonwell 11 预览
GraalVM 分为 Community Edition(CE) 和 Enterprise Edition(EE),除非你服务器大到会被 Oracle 找上门,不然请选择 Enterprise Edition
Oracle 官网同样提供 GraalVM,但是上面的 GraalVM EE 包含了企业版套件,这些MC根本用不到,只需要企业版编译器就可以了
垃圾回收器
经过我们的多次测试,G1GC和ZGC 最适合MC服务器(还有一个 Zing C4)
选择!
ZGC 的无停顿可以给玩家带来更好的体验,并且更充分的利用多核。
虽然ZGC在高版本上 Java 表现良好,但是某些 Java 上会造成反效果(如 GraalVM),参见各个 Java 的具体配置介绍。
对于 GC 细节性的优化请阅读每个Java的优化指南