我编写了一个程序,使用2个线程打印1到200的数字。
现在我想使用JConsole监控这个程序。
基本上我想学习如何使用JConsole监视应用程序。
我搜索谷歌但找不到有用的东西。
我怎么能做到这一点?
当我在bin文件夹中启动jconsole.exe
时。它要求输入主机名和端口号。
在我的情况下,我猜没有。
有人可以指导。
答案 0 :(得分:9)
假设您在包Test
下有一个类p1
,您可以使用2个线程(要监视的数据)从1到200打印数字。
因此,要使用 jconsole 来监控您的应用程序,您需要先编译并执行代码,然后执行代码......
Start
- > Run
- > jconsole.exe
并点击/按Enter
选择要监控的应用,然后点击Connect
。
或者,您也可以将 VisualVM 用于此目的。
答案 1 :(得分:5)
您需要通过添加以下JMX
参数来启用JVM
:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=8484
-Dcom.sun.management.jmxremote.ssl=false
这些参数允许任何JMX
监控工具访问和监控您的应用程序。
另外,我建议您使用visualVM
更强大的工具。
visualVM
的一些功能:
答案 2 :(得分:1)
JConsole在JConsole启动时查找所有正在运行的应用程序。然后,只有当前运行的应用程序端口和主机才会显示在列表中。首先,您需要启动应用程序然后启动JConsole。