如何使用Jconsole监控Java程序?

Thi*_*ker 15 java multithreading jconsole

我编写了一个程序,使用2个线程打印1到200的数字.

现在我想使用JConsole监视这个程序.

基本上我想学习如何使用JConsole来监视应用程序.

我搜索谷歌但找不到有用的东西.

我怎么能做到这一点?

当我开始jconsole.exe在bin文件夹中.它要求输入主机名和端口号.在我的情况下,我猜没有.有人可以指导.

San*_*jee 10

假设你有一个类Test在包下面p1,你有代码使用2个线程(你想要监视)打印从1到200的数字.

因此,要使用jconsole监视应用程序,您需要首先编译并执行代码,同时执行代码...

  • Start- > Run- > jconsole.exe然后点击/按Enter

    在此输入图像描述

  • 选择要监视的应用程序,然后单击Connect.

    在此输入图像描述

或者,您也可以将VisualVM用于此目的.

  • 在此输入图像描述


Sal*_*lah 8

您需要JMX通过添加以下JVM参数来启用:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=8484
-Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)

这些参数将允许任何JMX监视工具访问和监视您的应用程序。

我也建议您使用visualVM其更强大的工具。的一些功能visualVM

  • 提供CPU配置文件。
  • 提供有关线程的所有信息。
  • 提供JVM堆和内存状态。
  • 提供有关GC活动的信息。