failed to create JVM 解決辦法


“The Java bug was closed for voting and comments at 6969236 on the Java BugParade because the change has been reverted; the related Eclipse bug report is open for oting and comments at bug 319514. ”-引用eclipse官網

在修復版本推出之前它提供了一個解決方法:

打開eclipse目錄下的eclipse.ini文件,修改–launcher.XXMaxPermSize屬性,其中此屬性有兩處

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

將其值改為128m即可,如下。(事實上,只改后面一個就可以,啟動eclipse時以后者為准)

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
128M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
128m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

然后就可以成功啟動。

 

下面有關緩存配置的說明以供以后使用:  

-vmargs是表示下面是設置JVM(java虛擬機)的參數,也就是說下面都是java虛擬機的參數,對於JVM來說,內存分為堆內存和非堆內存,注意這里的堆不是c/c++里面的堆的概念,因為jvm自己管理內存,所謂堆上的內存就是jvm可以分配給java應用程序使用的內存,由-Xms和-Xmx這兩個參數限定,而非堆內存則是JVM自己使用的,由-XX:PermSize和-XX:MaxPermSize這兩個參數來限定。對於堆內存來講,JVM根據剩余的堆內存的多少調整整個堆內存的大小,調整范圍就是-Xms(最小)和-Xmx(最大)指定的范圍,-XX:PermSize和-XX:MaxPermSize也是同樣的道理,如果你不想JVM來動態調整的話,可以把最大和最小值設置相等,默認最小值是物理內存的1/64,最大值是物理內存的1/4,所以這個最大值就受到物理內存的限制(當然還會收到操作系統的限制)。

      經過實驗發現,如果-Xms的值比-Xmx設置的大則啟動會失敗;而如果-Xmx和-XX:MaxPermSize設置的值的和比可用的物理內存還大,啟動也會失敗,我的第一個設置,兩者的和超過了1G,而當時可用內存才700M,所以啟動會失敗,JVM在啟動時會檢測參數和實際可用內存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM