真的不知道该怎么办这个。我正在尝试启动具有更多 RAM 的 Minecraft 服务器,但终端中的命令给出了此错误。
仅当我转到文件管理器并单击 server.jar 文件时,服务器才能工作,然后它会像正常情况一样启动 GUI 和所有内容。问题是我无法通过那里设置 RAM 参数,只能通过命令。
我试过了:
sudo java -Xmx1024 -Xms1024 -jar server.jar
sudo java -Xmx4096 -Xms1024 -jar server.jar
sudo java -Xmx8164 -Xms1024 -jar server.jar
sudo java -Xmx1000000 -Xms1024 -jar server.jar
sudo java -Xmx3072 -Xms2048 -jar server.jar
sudo java -Xmx2048 -Xms512 -jar server.jar
sudo java -Xmx1024 -Xms512 -jar server.jar
sudo java -Xmx512 -Xms256 -jar server.jar
每次都会导致完全相同的错误:
“VM 初始化期间发生错误”
“最大堆太小”
我也用 -nogui 尝试过这些,同样的错误。
答案1
xmx 和 xms 设置的默认值以字节为单位,因此这些值太小。
从man java
:
-Xmsn
Specify the initial size, in bytes, of the memory allocation
pool. This value must be a multiple of 1024 greater than 1MB.
Append the letter k or K to indicate kilobytes, or m or M to
indicate megabytes. The default value is chosen at runtime
based on system configuration. For more information, see
HotSpot Ergonomics
Examples:
-Xms6291456
-Xms6144k
-Xms6m
-Xmxn
Specify the maximum size, in bytes, of the memory allocation
pool. This value must a multiple of 1024 greater than 2MB.
Append the letter k or K to indicate kilobytes, or m or M to
indicate megabytes. The default value is chosen at runtime
based on system configuration. For more information, see
HotSpot Ergonomics
Examples:
-Xmx83886080
-Xmx81920k
-Xmx80m
所以尝试:
sudo java -Xmx2048m -Xms2048m -jar server.jar
顺便说一句,我建议研究一下Linux 游戏服务器管理器如果你还不熟悉的话。他们有一系列脚本,使在 Linux 上配置和运行游戏服务器变得非常容易。