1.问题现象
JBoss启动提示创建JAVA虚拟机失败,异常信息如下
异常截图
异常日志
===============================================================================
.JBoss Bootstrap Environment
.JBOSS_HOME: E:\Jboss\jboss-4.0.2_BR_5.4.4.21\bin\\..
.JAVA: C:\Java\jdk1.6.0_38\bin\java
.JAVA_OPTS: -Xms64m -Xmx1024m -Dprogram.name=run.bat -Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote
. CLASSPATH: C:\Java\jdk1.6.0_38\lib\tools.jar;E:\Jboss\jboss4.0.2_BR_5.4.4.21\bin\\run.jar
===============================================================================
.
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
请按任意键继续. . .
2.问题分析
网上很多文章说问题原因是JDK的问题
因为JDK8(含)以后,永久代被移除了,所以虚拟机的启动参数MaxPermSize(最大永久代大小)不可用。
查看jboss-4.0.2_BR_5.4.4.21\bin\run.bat配置, 发现配置了MaxPermSize
JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m
查看当前JDK 是1.6
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\1000>java -version
java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) Client VM (build 20.13-b02, mixed mode, sharing)
查看JAVA_HOME也是JDK 1.6
3.处理方法
我没有按照网上说明去升级JDK, 直接删除PermSize相关配置后问题解决
JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m