簡體   English   中英

如何解決'初始化VM'java期間出錯?

[英]How to resolve 'Error occurred during initialization of VM' java?

我已經使用ssh連接到基於linux的服務器。 最近,我使用以下命令安裝了JDK:

sudo yum install java-1.6.0-openjdk-devel

並且jdk安裝成功,但每當我運行命令javajavac我都會收到以下錯誤:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

甚至,運行命令java -version也會帶來錯誤。 當我嘗試使用java -Xmx512m -Xms256m -version為java提供更多空間時,我會收到以下錯誤:

*** glibc detected *** java: double free or corruption (!prev): 0x00007fc84400e270 ***
*** glibc detected *** java: double free or corruption (fasttop): 0x00007fc8440089f0 ***
#
Aborted (core dumped)

我該如何解決這個問題?

提前致謝

我從未見過這種異常,所以這是我最好的猜測:你是否試圖通過使用-Xss JVM參數 (即-Xms8m -Xmx16m -Xss4m)來限制堆棧大小 另外快速谷歌搜索建議export MALLOC_CHECK_=0可能讓你克服,但我不確定JVM是否能正常運行。

一個虛擬的Linux服務器? 運行時你會得到什么:

java -Xmx1m -version

ulimit -a

看起來像是內存分配問題。 如果可能,您可以嘗試增加交換空間。

對我來說,似乎沒有足夠的內存來運行虛擬機(可能是物理內存,虛擬內存或ulimit) - 你應該嘗試減少分配給VM的內存(我認為64Mb中的默認值)而不是增加它。

降低你的-Xms(不是xmx)。例如使用-Xms40m。如果它在其他答案中說明,你可能內存太低而無法在啟動時回收256m的vm。

看起來您使用的是JDK 32位版本 如果是這樣,您不能指定大小超過1.2GB的堆大小。

使用64位JDK或嘗試使用1.2G作為最大堆大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM