如何修改 JVM 参数来优化本整合包
JVM 参数
由于 Modrinth 格式的限制,原整合包客户端的 JVM 参数丢掉了,在这里补上:
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:-UseAdaptiveSizePolicy -XX:+OmitStackTraceInFastThrow -XX:+PerfDisableSharedMem -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:+OptimizeStringConcat -XX:+UseThreadPriorities -XX:+UseLoopPredicate -XX:-DontCompileHugeMethods -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=37 -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=23 -XX:G1ReservePercent=20 -XX:SurvivorRatio=32 -XX:G1MixedGCCountTarget=3 -XX:G1HeapWastePercent=20 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5.0 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:GCTimeRatio=99 -Dlog4j2.formatMsgNoLookups=true -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.readTimeout=600000 -Dfml.connectTimeout=600000
服务端的 JVM 参数已经打包在整合包内了。由于时间的限制,开发组暂时无法确定这个 JVM 参数相较默认参数的变化。不过应该是比默认参数性能要好的。
如果你有能力,可以依照下面的参考文献来根据自己的硬件情况来修改 JVM 参数以获得更好的性能。
怎么使用?
HMCL:版本按钮 - 游戏设置 - 修改高级设置(需要启用游戏特定设置)- Java 虚拟机设置 - Java 虚拟机参数
PCLII:版本设置 - 高级启动选项 - JVM 参数头
其他启动器的设置类似。
注意有些启动器会自动添加 G1GC 垃圾回收器,可能会导致参数冲突从而无法启动游戏。如果你的启动器因为这个原因崩了,找一找把它关了。比如 HMCL 填参数的地方下方就有“不添加默认的JVM优化参数”的按钮。
我的游戏崩了!
你把参数填错了,比如少了横杠多了空格之类的。如果你实在不知道怎么填还是恢复默认参数吧。
这玩意怎么来的?
架设服务端(进阶) | Minecraft高校联盟资料站(JVM 调优的基础概念与衡量标准,数据已经过时)
JVM 优化 | 笨蛋 MC 开服教程(现成的参数,主要面向服务端)
brucethemoose/Minecraft-Performance-Flags-Benchmarks: Sane, Benchmarked Java Flags and Tweaks for Minecraft(服务端参数客户端参数均有,数据准确,但是有阅读门槛)