How to monitor a Java program using Jconsole?

前端 未结 3 1671
日久生厌
日久生厌 2021-01-01 17:23

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

相关标签:
3条回答
  • 2021-01-01 17:50

    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

      enter image description here

    • Select the application which you want to monitor and then click Connect.

      enter image description here

    Alternatively,you can use VisualVM for this purpose as well.

    • enter image description here
    0 讨论(0)
  • 2021-01-01 17:52

    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.

    0 讨论(0)
  • 2021-01-01 17:56

    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:

    • Provide a CPU profiling.
    • Provide all info about Threads.
    • Provide the JVM Heap and the memory states.
    • Provide Info about the GC activities.
    0 讨论(0)
提交回复
热议问题