[英]How to resolve 'Error occurred during initialization of VM' java?
我已經使用ssh連接到基於linux的服務器。 最近,我使用以下命令安裝了JDK:
sudo yum install java-1.6.0-openjdk-devel
並且jdk安裝成功,但每當我運行命令java
或javac
我都會收到以下錯誤:
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.