数码资讯
Failed to create the java virtual machine完全解决办法
一直用eclipse开发java,突然有这么一天,无法启动了,splash窗口显示"Failed to create the Java Virtual Machine",结果发现eclipse和myeclipse都打不开了,提示Failed to create the Java Virtual Ma
一直用eclipse开发java,突然有这么一天,无法启动了,splash窗口显示"Failed to create the Java Virtual Machine",结果发现eclipse和myeclipse都打不开了,提示Failed to create the Java Virtual Machine!
1.问题现象
第一感觉是jdk问题,于是重装了jdk,配置了环境变量,但eclipse和myeclipse还是打不开,百度一搜,要改配置文件eclipse.ini和myeclipse.ini但却不知在那个目录下,可恨的是搜不到该文件
找了很久才发现,原来就在第一个目录下
修改eclipse.ini配置文件,找到下面的片段:
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
修改为:
–launcher.XXMaxPermSize
128M
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
128m
保存后重启,正常启动了。
第二天,问题又出现了。
尝试修改其他参数,当如下修改参数时:
#最后一行
-Xmx512m
修改为:
-Xmx256m
eclipse正常启动了。
2.java虚拟机初始化失败!寻找eclipse解压路径
3.寻找eclipse初始化文件
4.右击打开(此处以ultraedit打开为例)
5.打开寻找初始化。虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制设置(原256,设置为128)
注意:此处设置不可太小,且有两处,图中已有标注
6.保存重启eclipse
说明:PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)等这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
-Xms128m
表示JVM Heap(堆内存)最小尺寸128MB,初始分配
-Xmx512m
表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。
-XX:PermSize=64MB 最小尺寸,初始分配
-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配
过小会导致:java.lang.OutOfMemoryError: PermGen space
其他解决方案:
方法一:
你把JDK的bin路劲配置在环境变量PATH里面,增加在PATH变量值的最后面,增加的内容类似于:
;C:\Program Files\Java\jdk1.6.0_21\bin;
方法二:
创建eclipse的快捷方式,然后在快捷方式的路径后面增加一个参数,类似于:
eclipse.exe -vm "C:\Program Files\Java\jdk1.6.0_21\bin\javaw.exe"
随便一种都可以启动Eclipse了。