#4服务器启动参数规范
本参数不具备普遍性,本文档仅为鸡爷云当前环境设计,不代表您的情况。
现在使用的模组服参数,如果可能,应尽可能保持-Xms -Xmx大小一致,这将有助于JVM优化内存,从而减少GC导致的停顿
超级过期,暂时不想更新
你应该阅读这两篇文章:
- https://steinborn.me/posts/tuning-minecraft-openj9/
- https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/
使用高版本JDK需要添加-javaagent:amadeus.unicorn-internal-SNAPSHOT.jar,并安装amadeus.unicorn-internal-SNAPSHOT.jar
/nvme/zulu8.44.0.13-ca-fx-jdk8.0.242-linux_x64/bin/java -Xms10G -Xmx10G -XX:+UseNUMA -XX:+UseLargePagesInMetaspace -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=60 -XX:MaxGCPauseMillis=100 -XX:G1MixedGCLiveThresholdPercent=35 -XX:MetaspaceSize=1G -XX:SoftRefLRUPolicyMSPerMB=10000 -XX:ParallelGCThreads=6 -server -Djline.terminal=jline.UnsupportedTerminal -jar forge-1.12.2-14.23.5.2847-universal.jar nogui
现在使用的原版服参数,如果可能,应尽可能保持-Xms -Xmx大小一致,这将有助于JVM优化内存,从而减少GC导致的停顿
原生可以使用高版本JDK
/nvme/zulu13.29.11-ca-fx-jdk13.0.2-linux_x64/bin/java -Xms10G -Xmx10G -XX:+UnlockExperimentalVMOptions -XX:+UseNUMA -XX:+UseLargePagesInMetaspace -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=60 -XX:G1MixedGCLiveThresholdPercent=35 -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -Dusing.aikars.flags=mcflags.emc.gs -Djline.terminal=jline.UnsupportedTerminal -jar paper-185.jar nogui
理论上这部分参数在分配大于10G内存的服务器上是通用的: -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+AlwaysPreTouch -XX:+UseLargePagesInMetaspace -XX:+ParallelRefProcEnabled -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=60 -XX:MaxGCPauseMillis=100 -XX:G1MixedGCLiveThresholdPercent=35 -XX:MetaspaceSize=1G -XX:SoftRefLRUPolicyMSPerMB=10000 -XX:ParallelGCThreads=6 -server
-Djline.terminal=jline.UnsupportedTerminal 是为了让控制台透传到管理面板。
-javaagent:amadeus.unicorn-internal-SNAPSHOT.jar 是为了使 Minecraft Forge 1.12.2 支持 JDK13 甚至 JDK14 使用的。
经过长年累月的实践与检验,我们得出了几个较优化的启动参数。
在不支持amadeus.unicorn-internal的服务器上使用:
java -Xms20G -Xmx20G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+AlwaysPreTouch -XX:+UseLargePagesInMetaspace -XX:+ParallelRefProcEnabled -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=60 -XX:MaxGCPauseMillis=100 -XX:G1MixedGCLiveThresholdPercent=35 -XX:MetaspaceSize=1G -XX:SoftRefLRUPolicyMSPerMB=10000 -XX:ParallelGCThreads=6 -server -javaagent:MojangYggdrasil.jar=https://skin.10935336.moe/api/yggdrasil -javaagent:authlib-injector-1.1.26-41a7a47.jar=https://skin.10935336.moe/api/yggdrasil -Djline.terminal=jline.UnsupportedTerminal -jar forge-1.12.2-14.23.5.2847-universal.jar nogui
在支持amadeus.unicorn-internal的服务器上使用:
/nvme/bellsoft-jre-13.0.1/bin/java -Xms20G -Xmx20G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+AlwaysPreTouch -XX:+UseLargePagesInMetaspace -XX:+ParallelRefProcEnabled -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=60 -XX:MaxGCPauseMillis=100 -XX:G1MixedGCLiveThresholdPercent=35 -XX:MetaspaceSize=1G -XX:SoftRefLRUPolicyMSPerMB=10000 -XX:ParallelGCThreads=6 -server -javaagent:amadeus.unicorn-internal-SNAPSHOT.jar -javaagent:MojangYggdrasil.jar=https://skin.10935336.moe/api/yggdrasil -javaagent:authlib-injector-1.1.26-41a7a47.jar=https://skin.10935336.moe/api/yggdrasil -Djline.terminal=jline.UnsupportedTerminal -jar forge-1.12.2-14.23.5.2847-universal.jar nogui
在香草使用:
/nvme/bellsoft-jre-13.0.1/bin/java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:G1MixedGCLiveThresholdPercent=35 -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -Djline.terminal=jline.UnsupportedTerminal -jar spigot-1.15.2.jar nogui
如果可能,应尽可能保持-Xms -Xmx大小一致,这将有助于JVM优化内存,从而减少GC导致的停顿
理论上这部分参数在大于10G内存的服务器上是通用的: -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+AlwaysPreTouch -XX:+UseLargePagesInMetaspace -XX:+ParallelRefProcEnabled -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=60 -XX:MaxGCPauseMillis=100 -XX:G1MixedGCLiveThresholdPercent=35 -XX:MetaspaceSize=1G -XX:SoftRefLRUPolicyMSPerMB=10000 -XX:ParallelGCThreads=6 -server
-javaagent:amadeus.unicorn-internal-SNAPSHOT.jar 是为了使 Minecraft Forge 1.12.2 支持 JDK13 甚至 JDK14 使用的。
-javaagent:MojangYggdrasil.jar=https://skin.10935336.moe/api/yggdrasil 是为了使服务器支持外置登录的同时支持正版登录。
-javaagent:authlib-injector-1.1.26-41a7a47.jar=https://skin.10935336.moe/api/yggdrasil 是为了让服务器使用外置登录。
-Djline.terminal=jline.UnsupportedTerminal 是为了让控制台透传到管理面板。
No Comments