使用JMX连接JVM

发布时间:2026-02-08 21:26

什么是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,输入以下信息就可以连接了

Linux在Tomcat中指定参数:在bin/catalina.sh中添加下列参数

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=你的主机 -Dcom.sun.management.jmxremote.port=需要被监控的端口,保证没有被占用即可随便指定 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

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

网址:使用JMX连接JVM https://m.mxgxt.com/news/view/1994479

相关内容

使用SQL Editor连接StarRocks实例
(转载)Python 的 JPype 模块调用 Jar 包
买好emr以后,dms可以连接使用starrocks吗
使用Instagram的便捷指南:明星动态与全球连接
如何用Python分析社交网络数据
新明星97(连线)板使用说明书
动态代理与反射1.动态代理 为什么需要代理? 假设你是个明星(BigStar),工作是唱歌、跳舞。但每次演出前,经纪人(
垃圾侠将连夜学习使用道具
十大免费又好用的网络分析工具概述.docx
广告法修订:明星代言产品须先使用 有连带责任

随便看看