How to check the configured Xmx value for a running java application

Doron Gold gave the correct answer for Java 8 and below. For Java 9 and above you can get the same info by using

jhsdb jmap --heap --pid <pid>

In my case, jmap is the best solution I could find:

jmap -heap <pid>

The above command shows full heap configuration + current usage.

The jmap command is included inside the jdk in the bin directory.


jps is a good solution, just run

jps # shows pids
jps -v <pid> # shows params

remember to run it as the user that launched the process though, or it will not work properly.


Cheap and dirty (not sure on reliability):

Runtime.getRuntime().maxMemory();

Have also used the following with success:

    MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
    memoryBean.getHeapMemoryUsage().getMax();

Tags:

Java

Memory

Jvm