VisualVM is a kind of data gathering software for application which are running under the Java Virtual Machines (JVM). This retrieve information related to the Java application, like heap size, heap dumps, RAM utilization, CPU utilization, thread count and so on. There is an special interface that they use for getting information from application ends and gathered information is analyzed and displayed on the VisualVM dashboard. Remote application also can be monitored via VisualVM. Specially user can get snapshot of heat dumps also.
Follow the steps to install VisualVM on Ubuntu server.
# sudo apt-get install visualvm
# which viaualvm
# java -version
You can check the java is up & running up using the commands given above. And for testing purpose, I’m here using a Java testing application in the same host. Let’s open the visualVM and configure it to get the information of running applications.
if you need any help related to visualVM you can us,
# visualvm – -help
After open the VisualVM, then you will see the terms and condition that should be accepted. Please accept it and go ahead.
After you agreed to the license agreement you will be displayed the VisualVM home page. In this home page you can see the options that you are having on VisualVm. In the Left side all the options are available. The image given below shows the sample home page of VisualVM.
To test an application, here I’m going to run a test application which contains a digital clock.
Download this file and extract, then run the testing java application on a terminal, then you will see the Digital clock on a particular application window.
# sudo unzip demo.zip
# cd src/
# javac DemoApp.java
# java DemoApp
After running the testing application, you will see the analytics of the application on the VisualVM dashboard. Locally running all the applications are added automatically to the VisualVM. Sample dashboard image is given below.
In Visual VM dashboard consist of the four tabs. The descriptions for each tabs are given below.
- Overview : Contains PID, Host name, arguments, heap dumb, so on, this provides basic idea of the running application.
- Monitor : Processor consuming, memori consuming likewise utilisation detail.
- Threads : List of entire threads, state of threads, running time, and so on.
- Sampler : Sampling information, like CPU, memory.
Finally, I can state that VisualVM can be used to get analytics and mange Java based applications for maximum throughput.