Java
通過終端執行的 Manjaro Linux 中的“最大堆太小”Java 錯誤
這個真的不知道該怎麼辦了。我正在嘗試使用更多 RAM 啟動我的世界伺服器,但終端中的命令給了我這個錯誤。
僅當我轉到文件管理器並點擊 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
每次都會導致完全相同的錯誤:
“虛擬機初始化過程中發生錯誤”
“最大堆太小”
我也用 -nogui 試過這些,同樣的錯誤。
xmlx 和 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 上配置和執行遊戲伺服器變得非常容易。