JConsole graphical user interface is a monitoring tool
JConsole complies to the Java Management Extensions (JMX)
JConsole provide information about the performance and resource
consumption of applications running on the Java platform maily Java
The jconsole executable in jdk bin folder and start the JConsole
from shell --> jconsole
You can connect to local by selecting particular pid and remote
by url, user name and password.
You can take the thread-dumps from JConsole.
You can do following things in JConsole
Get the Memory details/use by the application/jar/pid.
Eden Space (heap): The pool from which memory is initially
allocated for most objects.
Survivor Space (heap): The pool containing objects that have
survived the garbage collection of the Eden space.
Tenured Generation (heap): The pool containing objects that
have existed for some time in the survivor space.
Permanent Generation (non-heap): 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.
Code Cache (non-heap): The HotSpot Java VM also includes a
code cache, containing memory that is used for compilation and
storage of native code.
Thread - Can monitor Reference handler, Finalizer etc. Also you
can delete the deadlock thread
Classes - Current classes loaded, total classes loaded and