當您嘗試執行 VM 時,VM 初始化期間發生的錯誤是一個典型的 Java 問題。該錯誤訊息可能會出現在您嘗試啟動虛擬機器的任何系統上,包括 Windows、Mac 或 Linux。
以下是我們的 Windows 報告軟體專家發現的一些錯誤實例:
- VM 初始化期間發生錯誤 noclassdeffounderror java/lang/object。
- VM Minecraft 伺服器初始化期間發生錯誤 – Minecraft 伺服器無法保留足夠的記憶體來運作。
- VM初始化期間發生錯誤無法為物件堆保留足夠的空間
如何修復虛擬機器初始化期間發生的錯誤?
出現此問題的原因是 JVM 從系統中分配了 Windows 或其他作業系統無法提供的大量初始堆記憶體。因此,即使您有 8GB RAM,如果它已經在使用並且堆大小太大,您也會在 VM 初始化期間看到錯誤。
重新啟動您的 PC 並嘗試在其他程式初始化之前執行 Java,並確保您執行的是 64 位元 JVM。32 位元版本不能使用超過 1.5 GB 的 RAM。
1. 使用命令提示字元更改 Java 堆大小
- 按一下「開始」按鈕,鍵入 cmd,然後從結果中按一下「以管理員身份執行」 。
- 鍵入或貼上以下命令並按Enter:java -Xms256m -Xmx512M
此命令會將 Java Xms 初始堆記憶體設定為較低的值,現在您可以毫無問題地初始化 VM。
根據我們在 WR 實驗室的測試,該解決方案在所有情況下都可以修復虛擬機器初始化錯誤。但是,您也可以應用以下解決方案來達到相同的效果。
2.更改批次文件中的變數
- 按Win+E快速鍵啟動檔案總管。
- 找到並編輯要運行的伺服器的.bat檔案。
- 現在,將檔案中的Xms和 Xmx 值變更為較小的值。例如,-Xms256M -Xmx512M。您還可以更高,具體取決於您擁有的實際 RAM。
如果虛擬記憶體值設定得太高,Java 將顯示無法為物件堆保留足夠的空間錯誤。
這個簡單的解決方案適用於無法為 2097152kb 物件堆保留足夠的空間錯誤。但對於這個,您應該檢查您是否使用 32 位元 JVM。正如我們上面提到的,32 位元版本將無法處理它嘗試分配的 2 GB 記憶體。
3. 運行 Bash 指令
- 登入伺服器的另一個會話並轉到 Bash 來執行 Java 命令。
- 鍵入或貼上以下命令並按Enter:
-bash – 3.3$ export _JAVA_OPTIONS = " – Xmx256M"
- 為了確保這一點,請執行以下命令以查看您是否更改了 Java 設定:
-bash – 3.3$ javac HelloWorldApp.java
- 如果您收到訊息Picked up _JAVA_OPTIONS: – Xmx256M,表示沒問題。
如果在虛擬機器初始化期間仍然出現錯誤,請嘗試關閉一些在背景執行的應用程序,然後重試。還有一種可能是實體記憶體太低而無法運行虛擬機器。
您可能遇到的另一個伺服器問題是Minecraft 上的 Io.Netty.Channel.Abstractchannel,但本指南將為您提供協助。
總結我們的指南,VM初始化期間發生的錯誤實際上是Java分配過多初始堆記憶體的問題,從WR實驗室測試來看,設定較低的值可以快速解決問題。
您可以透過執行命令提示字元命令、編輯批次檔或執行 Bash 命令來完成此操作。
如果您在 Minecraft 中遇到網路連線錯誤,請點擊反白的指南來快速解決問題。
對於任何其他建議和經過測試的解決方案,請轉到下面的評論部分並給我們留言。
發佈留言