Max JVM memory issue using -Xmx...
843798Jun 25 2003 — edited Jun 14 2004I am a developer working on a fairly large java application that is considered an ERP system. We have deployed to several customers and given their data size and the amount of computations that the software has to do, we were running out of memory, so we used the -Xmx java line argument to increase the maximum allotted memory to the JVM. Problem is that we ran into some physical limitations on how high this number could be set. From all the literature I have read I don't see how this should be happening given that the machine has more than enough RAM.
To give you a little background we are running JRun version 3.02a 11614 = JRun 3.0 Service Pack 2a. In the JRun property files we can tweak the JVM configuration arguments. We are running on Windows Server 2000 5.00.2195 Service Pack 3. The machine has over 4 gigs of RAM. I have tested trying to bring up JRun which tries to bring up the JVM with various -Xmx settings and various JDKs. These are the results I got.
JDK 1.3.1 ==> -Xmx1212M is the max number you can use and still be able to bring JRun and hence the JVM online. Using -Xmx1213M will cause JRun to not come up and throw a message in the JRun logs = "Error occurred during the initialization of the VM. Could not reserve enough space for object heap".
JDK 1.4.1 ==> -Xmx1642M is the max number you can use and still be able to bring JRun and hence the JVM online. Using -Xmx1643M will cause JRun to not come up and throw a message in the JRun logs = "Error occurred during the initialization of the VM. Could not reserve enough space for object heap".
DontDieJava.exe ==> -Xmx1208M is the max number you can use and still be able to bring JRun and hence the JVM online. Using -Xmx1209M will cause JRun to not come up and throw a message in the JRun logs = "Error occurred during the initialization of the VM. Could not reserve enough space for object heap". DontDieJava was a java.exe that JRun distributed that has the fix where if you log off the machine's console window account your java application would continue to run as oppose to quitting.
According to what I read in various news groups you should be able to assign more RAM than 1212 and 1562 ofr JDK1.3.1 and JDK 1.4.1 respectively. Does anyone know what is going on here and can be able to explain it properly?
Any info or pointers in the right direction is appreciated.
Thanks,
Warren