使用JMX连接JVM

Posted conly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JMX连接JVM相关的知识,希望对你有一定的参考价值。

什么是JMX?

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

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.ssl=false 禁止使用ssl连接
-Dcom.sun.management.jmxremote.authenticate=false 不使用安全认证
-Djava.rmi.server.hostname=server_ip 要连接的远程主机的IP

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

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

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

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

以上是关于使用JMX连接JVM的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat开启JMX功能,使jdk自带的JVisvualVM工具连接JVM,轻松进行性能分析

VisualVM通过JMX远程连接JVM

jvm远程监控配置,以openfire为例,jmx方式监控

如何通过JMX远程监控Solr?

活动 MQ JMX SSL

JMX远程监控JVM