-Xms4.5G 会被 JVM 直接拒绝并报 Invalid initial heap size。 要 4.5 GB 就写 -Xms4608M。按人数与模组估算服务器内存与 JVM 参数。
免费在线数据更新至 26.2
正在加载工具…
表中是给 Java 堆(-Xmx)的大小, 不是整机内存。系统本身、操作系统缓存、堆外内存都要另算, 实际机器至少要比这个数多 1–2 GB。
Fabric 在同规模模组下通常比 Forge 省 15–25% 内存。插件对内存的影响远小于模组:80 个插件的增量还不如 50 个模组。
PaperMC 官方推荐的 G1GC 调参,几乎所有中大型服都在用。12 GB 是分界线:超过之后不是「在基线上再加几个参数」, 而是要换掉其中五个的取值。
小于 12 GB(这里以 6 GB 为例)
java -Xms6144M -Xmx6144M \
-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 \
-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 --nogui12 GB 及以上(这里以 16 GB 为例)
java -Xms16384M -Xmx16384M \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch \
-XX:G1NewSizePercent=40 \
-XX:G1MaxNewSizePercent=50 \
-XX:G1HeapRegionSize=16M \
-XX:G1ReservePercent=15 \
-XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 \
-XX:InitiatingHeapOccupancyPercent=20 \
-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其余参数两档相同。这五个不换值直接照抄小堆配置,是大内存服调参最常见的错误。
-Xms4.5G 会被 JVM 直接拒绝并报 Invalid initial heap size。 要 4.5 GB 就写 -Xms4608M。-XX:+AlwaysPreTouch 提前把内存页真正映射下来,避免运行中扩堆造成的卡顿。Paper 核心带 10 个左右插件、20 人同时在线,建议给 JVM 堆 4–6GB,机器总内存留到堆的 1.5 倍(6–9GB)给系统和堆外。原版核心更省,20 人 3GB 够用;Forge/Fabric 大整合包内存主要由模组数决定,300 模组通常要 6–8GB。
Aikar's Flags 是 PaperMC 官方推荐的一组 G1GC 调优参数,能显著减少 GC 卡顿。要点是 `-Xms` 必须等于 `-Xmx`(且只能填整数,写 `4.5G` 会直接启动失败),并带上 `-XX:+UseG1GC -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40` 等一整套;堆超过 12GB 时把这两个值改成 40/50,同时 `G1HeapRegionSize` 改 16M。
视距每加大 1 格,服务端需要加载的区块数量按平方增长,内存和主线程压力都会上去。20 人生存服建议 view-distance 8–10、simulation-distance 4–6,把"看得见"和"会运行"分开,能在几乎不掉画面的前提下省下大量内存和 TPS。