在“我的世界服务器端,Java虚拟机(JVM)参数对于优化服务器性能和资源使用至关重要。以下是一些常用的JVM参数及其作用:

  1. -Xms 和 -Xmx:这两个参数用于设置Java堆的初始大小(-Xms)和最大大小(-Xmx)。通过合理地设置这两个值,可以确保服务器在启动时有足够的内存可用,并限制其最大内存使用量,从而避免内存溢出或过度使用系统资源。
  2. -XX:+UseConcMarkSweepGC:这个参数启用CMS垃圾收集器,它是一种低延迟的垃圾收集器,适用于需要高响应速度的应用程序。在“我的世界”服务器端,使用CMS垃圾收集器可以减少垃圾收集对游戏性能的影响。
  3. -XX:+UseParNewGC:这个参数与CMS垃圾收集器一起使用,它指定在新生代中使用ParNew垃圾收集器。ParNew是一种并行的垃圾收集器,可以利用多个CPU核心来加速垃圾收集过程。
  4. -XX:MaxTenuringThreshold:这个参数设置对象在新生代中存活的次数,之后它们将被晋升到老年代。通过调整这个值,可以控制对象在新生代中的存活时间,从而影响垃圾收集的频率和效率。
  5. -XX:SurvivorRatio:这个参数设置新生代中Eden区与Survivor区的大小比例。通过调整这个比例,可以平衡新生代的空间分配和垃圾收集的效率。
  6. -XX:TargetSurvivorRatio:这个参数设置Survivor区的目标使用率。当Survivor区的使用率超过这个值时,JVM将尝试调整新生代的大小或晋升对象到老年代,以维持这个目标使用率。
  7. -XX:MaxGCPauseMillis:这个参数设置垃圾收集的最大暂停时间目标。JVM将尝试调整垃圾收集策略以满足这个目标,但实际的暂停时间可能会超过这个值。在“我的世界”服务器端,设置合理的最大暂停时间目标可以确保垃圾收集对游戏性能的影响最小化。
  8. -XX:+PrintGCDetails 和 -XX:+PrintGCDateStamps:这两个参数启用详细的垃圾收集日志记录,包括每次垃圾收集的时间戳、持续时间和收集前后的堆内存使用情况等信息。这些信息对于分析优化服务器性能非常有用。

请注意,以上参数仅是一些建议的JVM参数设置,并不适用于所有情况。在实际应用中,需要根据服务器的硬件配置、游戏版本和玩家负载等因素进行调整和优化。

对于特定服务端Catserver 更推荐参考官方文档,

修改启动参数开启G1GC和优化GC
在原有基础参数上增加:
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90

Catserver的优化可以参考 这里

展示