Minecraft 服务器 RAM 分配未按预期工作

Minecraft 服务器 RAM 分配未按预期工作

我通过 Strato V 服务器托管一个经过修改的 Minecraft 服务器 1.12.2。我为 JVM 分配了大约 8 到 10 GB,但当我使用 htop 检查时,它显示整个系统仅使用了大约 4.2 GB 的 RAM。

我以为分配有拼写错误,但经验证确实-XshowSettings:all分配了 8 到 10 GB。

服务器上还安装了 Mystcraft,当探索新维度或生成新区块时,服务器开始出现严重延迟,如果不停止,服务器就会崩溃,因为一个滴答持续的时间超过了 60 秒

统计资料

  • 启动脚本(将在屏幕上运行)

    /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Xms8G -Xmx10G -XshowSettings:all -jar forge-1.12.2-14.23.5.2847-universal.jar nogui
    
  • 操作系统:Ubuntu 18.04 LTS 64位

  • CPU 核心数:6vCores

  • 内存:12 GB

  • Java-V: openjdk-8-headless

  • 修改:

  • 动态树(1.12.2-0.9.7)

  • IvToolkit(1.3.3-1.12)

  • NetherPortalFix(1.12.1-5.3.17)

  • SpartanWeaponry(1.12.2-beta-1.3.8)

  • 循环复杂度 (1.4.8.2)

  • VanillaFix(1.0.10-99)

  • RoguelikeDungeons(1.12.2-1.8.0)

  • EnderIO(1.12.2-5.1.55)

  • 末影核心 (1.12.2-0.5.73)

  • 神秘世界 (1.12.2-0.13.7.04)

  • 服务器属性

spawn-protection=16
max-tick-time=60000
generator-settings=
force-gamemode=false
allow-nether=true
gamemode=0
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=1
spawn-monsters=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
server-port=1744
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
generate-structures=true
online-mode=false
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
enable-rcon=false
motd=Msg

下一步措施

我不确定延迟是否是由于缺少内存或缺少 CPU 电源造成的

  • 将最大滴答时间设置得更高 -> 但我怀疑延迟是否会停止,可能只会停止崩溃
  • 托管在不同的机器上

问题

  • 原因可能是 CPU 功率低吗?
  • 或者说 Java 低于最小堆大小是正常的吗?
  • 还有其他地方有 JVM 堆大小的配置文件吗?
  • 我是否应该降级到 Java 7?

答案1

这更可能是 CPU 问题:

  • 原因可能是 CPU 功率低吗? 是的,可以,那些是虚拟核心,你没有提到频率。据我所知,minecraft 服务器是单线程的,如果每个 vcore 的频率较低,这可能是你的瓶颈。

  • 或者说 Java 低于最小堆大小是正常的吗? 如果您不使用内存,它可以被返回给系统直到您需要它。

  • 还有其他地方有关于 jvm 堆大小的配置文件吗? 不,你的方法是正确的。

  • 我是否应该降级到 Java 7? 不,你不需要。从性能角度来看,你不应该注意到它。

https://minecraft.gamepedia.com/Server/Requirements据说“从 1.14 版开始,Minecraft 服务器可以使用多个核心执行某些操作,因此现在它们不再处于闲置状态,并提高了服务器性能。” 也许升级您的版本将平衡 CPU 使用率。

相关内容