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在启动时会检测参数和实际可用内存。

相关文章
相关标签/搜索