I have written a program to print number from 1 to 200 using 2 threads.
Now I want to monitor this program using JConsole.
Basically I want to learn how to use JConsole for monitoring an application.
I searched google but couldn't find something useful.
How I can achieve this?
When I started jconsole.exe
in bin folder. It asks for hostname and port number.
Here in my case, there is none, I guess.
Can somebody guide.
You need to enable JMX
by adding the following JVM
arguments :
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=8484
-Dcom.sun.management.jmxremote.ssl=false
These parameters will allow any JMX
monitoring tool to access and monitoring your application.
Also i suggest you to use visualVM
its more powerful tool.
some features for visualVM
:
Let's say you have a class Test
under package p1
where you have the code to print numbers from 1 to 200 using 2 threads(which you want to monitor).
So to use jconsole for monitoring your application, you would need to compile and execute your code first and while your code is executing...
Start
-> Run
-> jconsole.exe
and hit/press Enter
Select the application which you want to monitor and then click Connect
.
Alternatively,you can use VisualVM for this purpose as well.
JConsole find all the running application at the time of JConsole start-up. Then only the currently running applications port and host will be displayed in the list. So first you need to start the application then start the JConsole.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With