Search code examples
javajava-7jboss6.xjvm-arguments

JBoss6 fails to start on Windows (32bit) machine with JDK 7


JBoss will not start with my current configuration. I receive the error:

Error occurred during initialization of VM Could not reserve enough space for object heap Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Press any key to continue . . .

The JAVA_OPTS being used by JBoss are:

-client 
-Dprogram.name=standalone.bat 
-Xms128 
-Xmx2G 
-XX:MaxPermSize=256M 
-Djava.net.preferIPv4Stack=true 
-Djboss.modules.system.pkgs=org.jboss.byteman 
-Xms1024m 
-Xmx2048m 
-XX:PermSize=32m 
-XX:MaxPermSize=512m 
-Xss2m 
-XX:+UseConcMarkSweepGC 
-XX:+CMSClassUnloadingEnabled 
-Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl 
-Djavax.xml.soap.SOAPConnectionFactory=org.apache.axis.soap.SOAPConnectionFactor‌​yImpl 
-Djavax.xml.soap.SOAPFactory=org.apache.axis.soap.SOAPFactoryImpl"

Solution

  • From the JAVA_OPTS you're setting the maximum heap to 2048m (2G) which won't work on a Win32 - it's the -Xmx2048m option that controls this (which seems to be being set twice).

    To run on a Win32 you should adjust the -Xms and -Xmx options. On a vanilla JBoss installation (well on my JBoss installation at least) both options are set in standalone.conf.bat. Try setting both to 1024m to start with and reduce if you're still having problems.

    It's also likely that you'll want to turn down the -XX:MaxPermSize (which again is being set twice). 256m may work but if not try using 128m.