今天在社群上看到有人在弄 Minecraft 伺服器架設失敗,剛好有空就來幫忙解答。但是自己在架設時也出現了一個小問題,用含有 -Xmx4096M 的腳本啟動伺服器時會出現錯誤,而如果直接用 server.jar 的圖形界面開伺服器又會發生記憶體分配不足的現象。
Invalid maximum heap size: -Xmx4096M
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
還好之前我有解決過這類的問題,在操作的過程中順便來寫個今日文章。
解題流程
基本上我能確定我用的腳本指令是沒問題的,因為我自己也有在架設伺服器,就是用它。所以問題就是出在電腦中的 Java 無法正確使用 -Xmx4096M 參數,那究竟是為什麼呢?
解:安裝 64 位元 Java。我不確定你的情況適不適用這招,但一般應該都能在安裝正確位元的 Java 後解決。
一、首先,將原有的 32 位元 Java 解除安裝,我們不需要這個沒用的東西。

二、前往 Java 下載頁面,不要用它首頁的自動安裝按鈕,請從下方連結進入手動下載頁面。
Java 手動下載:www.java.com/zh_TW/download/manual.jsp
三、往下找,請點擊下載 Windows 離線 (64 位元) 版本的安裝檔。(大約 79 MB)

四、把它安裝好,就能開伺服器了。


最後這邊提供我使用的伺服器啟動腳本:
java -Xmx4096M -Xms1024M -jar server.jar nogui pause
現在比較推薦用OpenJDK,一般使用就用Adopt的版本 https://adoptopenjdk.net/ 。
按下面的Other platforms,您的用途也許用zip版本不用安裝檔,但可能要設定環境變數(path, class_path, java_home之類)。
感謝建議,馬上來了解