could not create the java virtual machine启动eclipse报错
今天準備使用eclipse寫python腳本,剛啟動eclipse,“啪”彈出一個messagebox,報錯“could not create the java virtual machine ”,暈了,前段時間還用它寫過程序,怎么突然出這種錯誤,打開任務管理器一看,因為開了幾個VS2005,內存已經被消耗得差不多了,本來2048M的內存,現在只剩下700多M了,難道是內存不夠,java虛擬機創建失敗?
????? 打開到eclipse安裝文件夾下的eclipse.ini文件,內容如下:
?
-vmargs
-Xms512M
-Xmx1024M
-XX:PermSize=64M
-XX:MaxPermSize=128M
????? 暫時不知道什么意思,但是知道是控制eclipse內存消耗的,修改如下:
?
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
?
????? 再次啟動eclipse,可以了,驚嘆,這些參數分別是什么意思呢?google一下:
????? -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在啟動時會檢測參數和實際可用內存。
總結
以上是生活随笔為你收集整理的could not create the java virtual machine启动eclipse报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么EClipse不显示错误
- 下一篇: liferay6.2导出excel