This discussion is archived
2 Replies Latest reply: May 8, 2013 3:52 AM by Stuart Fleming RSS

weblogic 11.1.1.7 Could not reserve enough space for object heap

Stuart Fleming Explorer
Currently Being Moderated

This post concerns starting weblogic after installing soa suite/weblogic.  When you start Weblogic it fails immediately and you get this message (if you are on windows, the command window just dies, so open a dos prompt, cd to the directory of your startWebLogic.cmd and run it from the command line).

 

The error generated will be:

Error occurred during initialization of VM

Could not reserve enough space for object heap

 

 

Update:
The first time I tried this I was all over the place since I did not know what configurations would work. This time, I made only these values, and it worked fine.

 

in the setDomainEnv.cmd file

 

Changed From
set XMS_SUN_64BIT=256
set XMS_SUN_32BIT=256
set XMX_SUN_64BIT=512
set XMX_SUN_32BIT=512
etc...

 

Changed To
set XMS_SUN_64BIT=512
set XMS_SUN_32BIT=512
set XMX_SUN_64BIT=1024
set XMX_SUN_32BIT=1024
set XMS_JROCKIT_64BIT=512
set XMS_JROCKIT_32BIT=512
set XMX_JROCKIT_64BIT=1024
set XMX_JROCKIT_32BIT=1024

 

I also commented out the section that over-rides these values under the  USER_MEM_ARGS section

 

@REMif NOT "%USER_MEM_ARGS%"=="" (

@REM set MEM_ARGS=%USER_MEM_ARGS%

@REM)

 

 

 

 

Original Post_
I just installed soa suite 11.1.1.7, but downloaded it from the OSB page, if that is any different from the SOA download page. I am on a 64-bit windows 7 machine, but installed the 32-bit version.

 

I could not start weblogic with the original setDomainEnv.cmd settings, and found this post Heap Size for weblogic Server

 

My original settings where
set XMS_SUN_64BIT=256
set XMS_SUN_32BIT=256
set XMX_SUN_64BIT=512
set XMX_SUN_32BIT=512
etc...

 

That post suggested upping the settings to 2048. It did not work for me. Instead, when I finally reduced the values to 1024 it worked. (I was not clear which settings should be set to what, so I set nearly everything to 1024, although the permsize I did read somewhere should be half the other settings.

 

I was kind of all over the place since there were so many different xmx or xms values, so

 

If you make these changes, but when start weblogic they do not show up on the first part, then look into commenting out the section that refers to USER_MEM_ARGS, which over-rides settings you may have made.

 


Here is the output when running weblogic at Xms2048m -Xmx2048m -XX:CompileThreshold=8000 -XX:PermSize=512m (which did not work -- it also did not work with the original settings).

 

C:\WlsSOA\JDK160~1\bin\java -client -Xms2048m -Xmx2048m -XX:CompileThreshold=8000 -XX:PermSize=512m -XX:MaxPermSize=512m -Dweblogic.Name=AdminServer -Djava.security.policy=C:\WlsSOA\WLSERV~1.3\server\lib\weblogic.policy -Xverify:none -Xverify:none -da -Dplatform.home=C:\WlsSOA\WLSERV~1.3 -Dwls.home=C:\WlsSOA\WLSERV~1.3\server -Dweblogic.home=C:\WlsSOA\WLSERV~1.3\server -Dcommon.components.home=C:\WlsSOA\ORACLE~1 -Djrf.version=11.1.1 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Ddomain.home=C:\WlsSOA\USER_P~1\SOA\domains\SOA_DO~1 -Djrockit.optfile=C:\WlsSO
A\ORACLE~1\modules\oracle.jrf_11.1.1\jrocket_optfile.txt -Doracle.server.config.dir=C:\WlsSOA\USER_P~1\SOA\domains\SOA_DO~1\config\FMWCON~1\servers\AdminServer -Doracle.domain.config.dir=C:\WlsSOA\USER_P~1\SOA\domains\SOA_DO~1\config\FMWCON~1 -Digf.arisidbeans.carmlloc=C:\WlsSOA\USER_P~1\SOA\domains\SOA_DO~1\config\FMWCON~1\carml -Digf.arisidstack.home=C:\WlsSOA\USER_P~1\SOA\domains\SOA_DO~1\config\FMWCON~1\arisidprovider -Doracle.security.jps.config=C:\WlsSOA\USER_P~1\SOA\domains\SOA_DO~1\config\fmwconfig\jps-config.xml -Doracle.deployed.app.dir=C:\WlsSOA\USER_P~1\SOA\domains\SOA_DO~1\serve
rs\AdminServer\tmp\_WL_user -Doracle.deployed.app.ext=\- -Dweblogic.alternateTypesDirectory=C:\WlsSOA\ORACLE~1\modules\oracle.ossoiap_11.1.1,C:\WlsSOA\ORACLE~1\modules\oracle.oamprovider_11.1.1,C:\WlsSOA\ORACLE~1\modules\oracle.jps_11.1.1 -Djava.protocol.handler.pkgs=oracle.mds.net.protocol"|"oracle.fabric.common.classloaderurl.handler"|"oracle.fabric.common.uddiurl.handler"|"oracle.bpm.io.fs.protocol -Dweblogic.jdbc.remoteEnabled=false -da:org.apache.xmlbeans... -Dbpm.enabled=true -Dsoa.archives.dir=C:\WlsSOA\Oracle_SOA1\soa -Dsoa.oracle.home=C:\WlsSOA\Oracle_SOA1 -Dsoa.instance.home=C:\Wls
SOA\USER_P~1\SOA\domains\SOA_DO~1 -Dtangosol.coherence.clusteraddress=227.7.7.9 -Dtangosol.coherence.clusterport=9778 -Dtangosol.coherence.log=jdk -Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl -Dweblogic.transaction.blocking.commit=true -Dweblogic.transaction.blocking.rollback=true -Djavax.net.ssl.trustStore=C:\WlsSOA\WLSERV~1.3\server\lib\DemoTrust.jks -Dem.oracle.home=C:\WlsSOA\oracle_common -Djava.awt.headless=true -Dums.oracle.home=C:\WlsSOA\Oracle_SOA1 -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dwebl
ogic.ext.dirs=C:\WlsSOA\patch_wls1036\profiles\default\sysext_manifest_classpath;C:\WlsSOA\patch_oepe180\profiles\default\sysext_manifest_classpath;C:\WlsSOA\patch_ocp371\profiles\default\sysext_manifest_classpath;C:\WlsSOA\patch_adfr1111\profiles\default\sysext_manifest_classpath weblogic.Server
Error occurred during initialization of VM
Could not reserve enough space for object heap

 

Edited by: Stuart Fleming on Apr 14, 2013 6:24 AM

 

Edited by: Stuart Fleming on Apr 21, 2013 6:08 AM

 

Edited by: Stuart Fleming on May 7, 2013 6:05 PM -- added the file name!

 

Edited by: Stuart Fleming on May 7, 2013 6:22 PM

 

Message was edited by: StuartFleming

  • 1. Re: weblogic 11.1.1.7 Could not reserve enough space for object heap
    Vijaya Moderator -Oracle Expert
    Currently Being Moderated
    Hi Stuart,

    You may be using 32-bit hardware or a 32-bit JDK and hence the Error occurred during initialization of VM
    ERROR : "Could not reserve enough space for object heap"

    If you use a 32-bit JDK with WLS and try to allocate more than 2GB (or as per the OS limitations: for some OS/JVM combinations it is higher or lower than 2GB) memory to the java process, the memory allocation fails and throws the specified exception.

    If you use a 32-bit JDK, then the following OS limitations exist:


    Windows OS
    32-bit: 4 GB address space (232-1)
    2G for Kernel + 2G for Application space
    Max heap size 1.5G (remaining native + stack)
    64-bit: 16 terabytes address space
    No limit on heap size

    For all other UNIX machines:
    Linux OS:
    32-bit: 4 GB address space (232-1)
    1.3G for Kernel + 2.7G for Application space
    Max heap size 2.0G (remaining native + stack)
    64-bit: 16 terabytes address space
    No limit on heap size

    SOLARIS:
    32-bit: 4 GB address space (232-1)
    2.0G for Kernel + 2.0G for Application space
    Max heap size 1.5G (remaining native + stack)
    64-bit: 16 terabytes address space
    No limit on heap size

    AIX:
    32-bit: 4 GB address space (232-1)
    1.0G for Kernel + 3.0G for Application space
    Max heap size 2.4G (remaining native + stack)
    64-bit: 16 terabytes address space
    No limit on heap size

    HP-UX:
    32-bit: 4 GB address space (232-1)
    0.2G for Kernel + 3.8G for Application space
    Max heap size 3.0G (remaining native + stack)
    64-bit: 16 terabytes address space
    No limit on heap size

    Also, check the available physical memory on the machine. The heap size cannot be set to more than 75% of the available physical memory.


    Here's the Solution to your issue

    Upgrade to a 64-bit JDK.

    OR

    If you cannot upgrade to 64-bit Hardware and a 64-bit JDK**, then set the maximum heap size to one of the following based on the OS:

    Windows: 1.5G
    Linux: 2.0G
    Solaris: 1.5G
    AIX: 2.4G
    HP-UX: 3.0G


    Hope this helps!!


    Thanks,
    Vijaya

    Edited by: Vijaya_Gopal on May 8, 2013 9:59 AM

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points