跳到主要内容
OhMyMC
文章书架工具种子导航
OhMyMC

用最清晰的方式,学会 Minecraft。

Copyright © 2024-2026 suixinio. All rights reserved.|京ICP备2024096958号-1

本网站与 MOJANG 或 MICROSOFT 无任何关联

首页工具服务器配置计算器

服务器配置计算器

按人数与模组估算服务器内存与 JVM 参数。

免费在线数据更新至 26.2

正在加载工具…

服务器内存建议表与 Aikar 参数全文

不同人数与服务端类型的内存建议

表中是给 Java 堆(-Xmx)的大小, 不是整机内存。系统本身、操作系统缓存、堆外内存都要另算, 实际机器至少要比这个数多 1–2 GB。

在线人数原版Paper(10 插件)Fabric(100 模组)Forge(100 模组)Forge(300 模组)
5 人2 GB3.5 GB3 GB4 GB7.5 GB
10 人2 GB3.5 GB3.5 GB4 GB7.5 GB
20 人3 GB4.5 GB4 GB4.5 GB8.5 GB
30 人4 GB5.5 GB4.5 GB5.5 GB9 GB
50 人6 GB7.5 GB6 GB6.5 GB10 GB
80 人9 GB10.5 GB7.5 GB8.5 GB12 GB
100 人11 GB12.5 GB9 GB9.5 GB13 GB

Fabric 在同规模模组下通常比 Forge 省 15–25% 内存。插件对内存的影响远小于模组:80 个插件的增量还不如 50 个模组。

Aikar's Flags 完整启动命令

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 --nogui

12 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
参数小于 12GB12GB 及以上作用
G1NewSizePercent3040新生代占堆的最小比例,调高可减少 Minecraft 这类高分配率负载的 GC 次数
G1MaxNewSizePercent4050新生代占堆的最大比例
G1HeapRegionSize8M16MG1 的分区大小;堆大时调大可减少分区总数
G1ReservePercent2015预留给晋升失败的空间
InitiatingHeapOccupancyPercent1520触发并发标记周期的堆占用阈值

其余参数两档相同。这五个不换值直接照抄小堆配置,是大内存服调参最常见的错误。

内存设置的四个坑

-Xms 和 -Xmx 只接受整数。-Xms4.5G 会被 JVM 直接拒绝并报 Invalid initial heap size。 要 4.5 GB 就写 -Xms4608M。
-Xms 要等于 -Xmx。Aikar's Flags 的前提之一。让堆一开始就占满目标大小,配合 -XX:+AlwaysPreTouch 提前把内存页真正映射下来,避免运行中扩堆造成的卡顿。
别把整机内存全给 Java 堆。堆外还有 Metaspace、线程栈、NIO 直接内存、以及操作系统的文件缓存(区块文件读写全靠它)。 8 GB 的机器给 6 GB 堆是上限,给 8 GB 会被 OOM Killer 杀掉。
超过 31 GB 反而更浪费。JVM 在堆小于 32 GB 时启用压缩指针(Compressed OOPs),对象引用只占 4 字节。 越过这条线后引用变成 8 字节,实际可用容量不升反降。真需要那么大,先考虑拆群组服。

影响性能的关键配置

配置项文件建议说明
view-distanceserver.properties6–8对 TPS 影响最大的单项。从 10 降到 6,区块加载量减少约 60%
simulation-distanceserver.properties4–61.18 拆分出来的独立项,控制实体与红石的更新范围
max-tick-timeserver.properties-1关掉看门狗,避免大型红石作品被误判为死锁而自杀
sync-chunk-writesserver.propertiesfalseLinux 上关掉可显著降低区块保存造成的卡顿
entity-activation-rangespigot.yml按需调低远处的怪物不再逐刻计算 AI,是刷怪塔服的必调项
mob-spawn-rangespigot.yml4–6缩小刷怪半径,直接减少实体总数
max-auto-save-chunks-per-tickpaper-world-defaults.yml8–12把自动保存摊平到多个刻,避免整点卡顿

CPU 比内存更重要

Minecraft 服务端的主循环是单线程的:一个游戏刻里的实体、 红石、区块更新全在同一个线程上跑完。所以单核性能(主频与 IPC)决定 TPS 上限,核心数只影响能同时开多少个子服。 选服务器时,4 核高主频远好于 16 核低主频;内存只要够用就行,加到 32 GB 也救不了一个 TPS 15 的服。

相关工具

经验计算器等级 ↔ 经验值换算,附熔炉/刷怪笼产出估算。伤害计算器武器伤害、攻速与附魔的 DPS 对比。重锤伤害计算坠落高度 → 重锤伤害,含附魔与掉落缓冲。附魔计算器计算附魔成本与铁砧最优合并顺序。农场产量估算刷铁机、甘蔗机等常见农场的产量估算。猪灵以物易物表丢金锭给猪灵能换到什么:概率与数量。

常见问题

›我的世界开服 20 人需要多少内存?

Paper 核心带 10 个左右插件、20 人同时在线,建议给 JVM 堆 4–6GB,机器总内存留到堆的 1.5 倍(6–9GB)给系统和堆外。原版核心更省,20 人 3GB 够用;Forge/Fabric 大整合包内存主要由模组数决定,300 模组通常要 6–8GB。

›Aikar 参数是什么?该怎么写?

Aikar's Flags 是 PaperMC 官方推荐的一组 G1GC 调优参数,能显著减少 GC 卡顿。要点是 `-Xms` 必须等于 `-Xmx`(且只能填整数,写 `4.5G` 会直接启动失败),并带上 `-XX:+UseG1GC -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40` 等一整套;堆超过 12GB 时把这两个值改成 40/50,同时 `G1HeapRegionSize` 改 16M。

›视距(view-distance)开多少比较合适?

视距每加大 1 格,服务端需要加载的区块数量按平方增长,内存和主线程压力都会上去。20 人生存服建议 view-distance 8–10、simulation-distance 4–6,把"看得见"和"会运行"分开,能在几乎不掉画面的前提下省下大量内存和 TPS。