Minecraft 服务器启动代码和 RAM 优化(Aikar 的旗帜)
无论 Minecraft 服务器有多少 RAM,如果 Java 的内存清理逻辑(垃圾收集)配置不正确,服务器每隔几分钟就会遇到突然冻结(Spike Lag)。你启动你的服务器start.bat或baslat.bat优化文件可以从根本上解决这些冻结问题。世界著名的 艾卡尔的旗帜 您可以在本指南中找到带有参数的正确初始化代码。
步骤一:错误初始化代码的危害
大多数服务器所有者只是运行他们的服务器java -Xmx8G -Xms8G -jar server.jar它从命令开始。这段代码完全释放了Java。 Java 会填满内存,然后立即停止整个服务器以清除内存(GC 滞后)。玩家感觉这就像“扔回去或被卡住”。
第二步:优化Aikar的启动代码
你的服务器 启动.bat 右键单击该文件,对其进行编辑,删除其中的所有代码,然后根据您分配给服务器的 RAM 量粘贴以下更新的代码:
对于分配 8 GB RAM 的服务器:
@echo off java -Xmx8G -Xms8G -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:InitiatingHeapProfilingPercent=45 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui pause
注意:如果您要为服务器提供 12 GB RAM,请使用开头的代码-Xmx8G -Xms8G地区-Xmx12G -Xms12G你应该将其更改为 .还有server.jar将显示的部分与主 jar 文件的名称(例如:paper.jar)同步。
第 3 步:守则的优点
- G1GC 激活: 它激活 Java 最稳定且与 Minecraft 兼容的垃圾收集模块。
- 即时记忆清除: 当服务器空闲时,它会在后台小块地清理RAM,防止服务器冻结。
- 处理器优先级: 它允许Java更平衡地使用处理器核心。
本文是专门为PvPServer准备的。