Eclipse出现的问题(“Error occurred during initialization of VM Could not reserve enough space for object heap”。)
今天又重新安装了一遍Eclipse。出现了上述问题,基本上进不去Eclipse(只是偶尔才能进去)。原来是在Eclipse启动时为Java虚拟机(JVM)分配的内存和大于系统可用内存数,所以没有足够的空间分配给JVM来创建Object。JVM中如果98%的时间是用于GC且可用的, Heap size不足2%的时候将抛出此异常信息。JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.
修改eclipse目录下的eclipse.ini里面的几个参数:-Xms -Xmx,给他们赋予适当的值。规则如下JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
现在我的eclipse.ini为:
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx256m
今天又重新安装了一遍Eclipse。出现了上述问题,基本上进不去Eclipse(只是偶尔才能进去)。原来是在Eclipse启动时为Java虚拟机(JVM)分配的内存和大于系统可用内存数,所以没有足够的空间分配给JVM来创建Object。JVM中如果98%的时间是用于GC且可用的, Heap size不足2%的时候将抛出此异常信息。JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.
修改eclipse目录下的eclipse.ini里面的几个参数:-Xms -Xmx,给他们赋予适当的值。规则如下JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
现在我的eclipse.ini为:
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx256m