【发布时间】:2020-04-27 13:02:23
【问题描述】:
所以,我在 VDS (Ubuntu 16.04 x86_64) 上创建了具有 4GB RAM 和 4 核 1Hz CPU 的 Minecraft 服务器。 但是内存使用存在很大的问题。
随着时间的推移,RAM 使用量只会增加(我是唯一的玩家)。最终服务器耗尽内存并崩溃。
我会很高兴收到一个灵魂。升级 ram 并制作自动重启脚本是唯一可能的解决方法吗? 我在网上看到同样的问题,但没有解决方案。
我用来启动服务器的命令是:
java -Xms1G -Xmx3G -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=8 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=”https://mcflags.emc.gs” -Daikars.new.flags=true -jar server.jar nogui
由于某种原因,服务器以 2GB 启动,然后运行了大约 2 小时 - 然后崩溃。
【问题讨论】:
-
为了帮助您,我们需要更多信息。请edit您用于启动服务器的命令进入您的问题。另外,从你启动服务器到它崩溃需要多长时间?
-
为什么将所有内存分配给 JVM。您是否尝试降低该值?
-
1.该图像没有显示内存随着时间的推移而增加,它只是一个时间点。 2. 正如 Kerim 所说,您不应该将所有内存分配给 Java 堆。操作系统本身和 Java 进程本身除了堆之外仍然需要额外的内存,尝试只给 Java 约 3GB。