"Error occurred during initialization of VM" Error Message

H

Hugo

Hi:

I am receiving the following error message when I shutdown Tomcat:

"Error occurred during initialization of VM
Could not reserve enough space for object heap"

The server has 4GB of RAM and the Tomcat has been set to claim upto
2GB of memory.

Any clues on why this message is being received?
 
S

Steve W. Jackson

Hugo said:
Hi:

I am receiving the following error message when I shutdown Tomcat:

"Error occurred during initialization of VM
Could not reserve enough space for object heap"

The server has 4GB of RAM and the Tomcat has been set to claim upto
2GB of memory.

Any clues on why this message is being received?

The amount of RAM the server has isn't relevant, it's the amount you try
to allocate to the JVM's heap. You don't say what platform, but Java
can't get a full 2GB on most platforms. On Windows, it's something in
the area of 1600 MB or thereabouts.
 
M

Manish Pandit

Hi:

I am receiving the following error message when I shutdown Tomcat:

"Error occurred during initialization of VM
Could not reserve enough space for object heap"

The server has 4GB of RAM and the Tomcat has been set to claim upto
2GB of memory.

Any clues on why this message is being received?

Are you using windows? Then this link may help : http://support.microsoft.com/kb/924054

Also, try reducing it from 2GB to 1GB and retry.

-cheers,
Manish
 
H

Hugo

The amount of RAM the server has isn't relevant, it's the amount you try
to allocate to the JVM's heap. You don't say what platform, but Java
can't get a full 2GB on most platforms. On Windows, it's something in
the area of 1600 MB or thereabouts.

Hi:

I am using a Sun V240 with Solaris 9.0 as the operating system.

Is there a spec document on Sun's website which shows the maximum
memory Java can claim on various OS? I could not find the data via
Googling.

Thanks.
 
R

Roedy Green

The server has 4GB of RAM and the Tomcat has been set to claim upto
2GB of memory.

Try cutting that back. Unless you have a 64-bit Java, is not your
entire address space only 2GB? Your heap could be nowhere near that
big since so much other junk including DLLs must fit in that same
address space.
 
L

Logan Shaw

The JVM is on a Sun V240 server with Solaris 9.0.

32-bit or 64-bit JVM? Both seem to be available for SPARC/Solaris
systems.

Also, it has been a while since I have used Solaris regularly, but I
suppose it may still be possible to boot into a 32-bit kernel on that
OS and hardware. If so, that would be worth checking.

- Logan
 
N

Nigel Wade

Hugo said:
Hi:

I am using a Sun V240 with Solaris 9.0 as the operating system.

Is there a spec document on Sun's website which shows the maximum
memory Java can claim on various OS? I could not find the data via
Googling.

It won't be on the Sun Java site, it's an OS feature not a JVM feature. If it's
32bit Solaris I don't know what the maximum vm is that you can allocate to a
process, probably 4GB.

Besides the overriding OS limitation, there are also limits set by your system
administrator. These are defined by ulimit. You may need to modify ulimit for
the Tomcat process to allow it to allocate more virtual memory space. You can
test it from the command line by running:
$ java -Xmx2G -version
it will fail until you set the correct ulimit value.

E.g. on my system:
$ ulimit -S -v 2000000
$ java -Xmx2G -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

$ ulimit -S -v 3000000
$ java -Xmx2G -version
java version "1.6.0_01"
....

To increase your ulimit above the hard limit you will need root access.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top