使用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的主要内容,如果未能解决你的问题,请参考以下文章