views:

240

answers:

2

What is the default maximum heap size for Sun's JVM from J2SE 6 (i.e. equivalent to setting -Xmx)?

Looks like for J2SE 5 with a server-class machine, it's

Smaller of 1/4th of the physical memory or 1GB.

Bonus question: Looks like for IBM's JVM you can ask it

java -verbose:sizes -version

Can you similarly ask Sun's JVM?

Edit:

I used Runtime.getRuntime().maxMemory to confirm min(physical memory/4, 1G), referenced in Sun documentation.

+1  A: 

one way is if you have a jdk installed , in bin folder there is a utility called jconsole(even visualvm can be used). Launch it and connect to the relevant java process and you can see what are the heap size settings set and many other details

daedlus
it is headless, so no graphics capabilities.
dfrankow
A: 

One can ask with some Java code:

long maxBytes = Runtime.getRuntime().maxMemory();
System.out.println("Max memory: " + maxBytes / 1024 / 1024 + "M");

See javadoc.

dfrankow