pamphlet
pamphlet

Reputation: 2104

How can I determine the JVM minimum heap size from within a java application?

I have reviewed the answer to how to get the min and max heap size settings of a JVM from within a Java program which was helpful, but the accepted answer doesn't appear to answer half of the question. In essence, I want to report the -Xms and -Xmx settings that were used when the JVM was launched.

Upvotes: 5

Views: 662

Answers (2)

alexvetter
alexvetter

Reputation: 1996

If you want to get the real JVM arguments this should help you. You can get all JVM arguments with the MXBean:

RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = RuntimemxBean.getInputArguments();

You have to look for the arguments which start with "-Xm(s|x)". The problem is that the value could be something like "256M".

Upvotes: 3

Mike K.
Mike K.

Reputation: 3789

These are the mappings between values you're looking for:

-Xmx=Runtime.getRuntime().maxMemory()
-Xms=Runtime.getRuntime().totalMemory()

Hope this helps.

Upvotes: 6

Related Questions