MyEclipse_解決could not create the java virtual m...

MyEclipse的myelipse.ini原來配置:java

-vmargsc++

-Xmx1024mjvm

-XX:MaxPermSize=256m操作系統

-XX:ReservedCodeCacheSize=64mip

今天早上啓動就報could not create the java virtual machine錯誤。內存

myelipse.ini如今的配置:虛擬機

-vmargscli

-Xmx1024m配置

-XX:PermSize=128M //添加了這個配置,不知道爲何,一開始試的是64M,不行。程序

-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=64m

 如下轉載:

     -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在啓動時會檢測參數和實際可用內存。

相關文章
相關標籤/搜索