VisualVM is a visual tool for integrating command-line JDK tools. It also offers lightweight profiling capabilities. It is designed for both development and production time use.
Features:
     1. It displays both local and remote Java Processesle
     2. Monitor Process Performance and Memory
     3. Visualize Process Threads
     4. Profile Performance and Memory Usage
     5. Take and Display Thread Dumps
     6. It can read basic information about the crashed Java process
     7. Helps to analyze Core Dumps
More Information and Official Website:
Download : https://visualvm.github.io/download.html