JVM Host custom JVM Control panel offers graphing of basic JVM parameters. You need to enable ‘monitor’ attribute in your JVMCP panel and wait a 5 minutes before graphs fill with data. On Stats page you can select different graphing periods. See example graph below.
To closer analyze a Java process memory usage (realtime data) you can use JConsole (part of JDK). Append the below line
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=AFREEPORTNUMBER \ -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
to JAVA_OPTS in ~/appservers/apache-tomcat/bin/catalina.sh then restart Tomcat and connect with JConsole giving remote address and port:
You will be able to monitor live threads and loaded classes number, CPU usage and memory usage for the below memory parts:
|JVM Heap memory elements||JVM Non-Heap memory parts|
The pool from which memory is initially allocated for most objects.
The pool containing all the reflective data of the virtual machine itself, such as class and method objects. With Java VMs that use class data sharing, this generation is divided into read-only and read-write areas.
The pool containing objects that have survived the garbage collection of the Eden space. This space is divided to ‘From Space’ and ‘To Space’ (for example in jmap output).
The HotSpot Java VM also includes a code cache, containing memory that is used for compilation and storage of native code.
|Tenured Generation/PS Old Gen:
The pool containing objects that have existed for some time in the survivor space.
At JVM Host you can enable JMX via JVM control panel JVMCP. You can also check what port is assigned for JMX access in the panel.For more details on JXM and JConsole see: