Heap size limit on 1.4.1 64 bit Solaris JVM
843811Jul 8 2003 — edited Jul 17 2003Hi,
I'm running a memory-intensive server application on Solaris. The machine has 24GB of RAM plus 39GB of swap space. My assumption was that I could start a 64 bit 1.4.1 JVM (-d64) that utilizes most of the total virtual memory of 63GB.
It seems like the allowed maximum heap size is limited by the available physical memory though. The maximum value of the -Xmx parameter that it will take is -Xmx20g. Why is this related to the physical memory size ? Shouldn't it relate to the virtual memory size ?
A second experiment I ran was to start two JVMs at the same time using "java -d64 -Xmx20g -server". Both started without a problem. Once I started both with initial heap sizes of 20g (-Xms20g), I got "unable to allocate object heap" errors.
It seems like the sum the initial heap sizes of all the JVMs running on the machine cannot be greater than the physical memory.
How can I ensure that my application "goes virtual" if necessary ? I don't want it to stop running once it reaches the limit of the physical RAM.
-- Stefan