今天在社群上看到有人在弄 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