使用JMX连接JVM实现过程详解

什么是JMX?

什么是JMX,Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用,详细内容可查看

https://www.jb51.net/article/184218.htm

JMX使用

在安装JDK开发工具包后,在bin目录中有jmc.exe、jvisualvm.exe、jconsole.exe,这三个工具都可以提供可视化界面来监控我们的Java程序运行状况,既可以连接本地程序,也可以监控远程环境,使用起来很方便,这里以jvisualvm.exe为例。

本地环境

在Java安装bin目录直接双击jvisualvm.exe启动,就可以看到本地监控程序,有启动的IDEA,如果有其他依赖于Java平台运行的程序也都会展示。

远程环境

连接远程环境,需要在Java程序启动的时候添加以下参数

-Dcom.sun.management.jmxremote.port=server_port 远程连接需要开放的端口

-Dcom.sun.management.jmxremote.authenticate=false 不使用安全认证

-Djava.rmi.server.hostname=server_ip 要连接的远程主机的IP

-Dcom.sun.management.jmxremote.ssl=false 禁止使用ssl连接

然后启动你的Java程序,可以添加在启动参数文件中,也可以用下面方式启动

java -Dcom.sun.management.jmxremote.port=server_port -Dcom.sun.management.jmxremote.ssl=false 省略... -jar ./your_jar

启动远程程序后,在本地启动jvisualvm.exe,输入以下信息就可以连接了

如果不能连接,检查远程服务是否启动成功,查看远程系统的防火墙是否开放端口,要确保你设置的端口没有被占用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

若文章对您有帮助,帮忙点个赞!

0
-4
发布时间 2020-04-07 12:01:29
0 条回复(回复会通过微信通知作者)
点击加载更多评论
登录 后再进行评论
(微信扫码即可登录,无需注册)