Java教程

JMC连接远程jvm

本文主要是介绍JMC连接远程jvm,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JDK Mission Control (JMC),jdk7-jdk10的bin目录下都有,高版本jdk可以直接去Oracle官网下载:https://www.oracle.com/java/technologies/javase-downloads.html(往下滑就找到了),还有官方手册:https://docs.oracle.com/en/java/java-components/jdk-mission-control/8/user-guide/security-compliance-jdk-mission-control.html

虚拟机启动参数:

指定被监控的jvm开启的端口

-Dcom.sun.management.jmxremote.port=xxxx

指定被监控的jvm的ip
-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx 

不启用ssl
-Dcom.sun.management.jmxremote.ssl=false 

不使用用户名和密码
-Dcom.sun.management.jmxremote.authenticate=false

 

我在我的centos7虚拟机(192.168.1.171)上启动一个java程序:

java -Dcom.sun.management.jmxremote.port=4433 -Djava.rmi.server.hostname=192.168.1.171 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar xxx.jar

使用JMC新建连接:

然后就可以启动JMX控制台了:

 

还可以指定用户名和密码:

设置-Dcom.sun.management.jmxremote.authenticate=true

-Dcom.sun.management.jmxremote.password.file=指定密码文件

-Dcom.sun.management.jmxremote.access.file=指定权限文件

 

先写两个配置文件:(readonly权限有的JMC项显示不出来,例如堆栈)

设置文件的权限:chomd 600 jmc.*

使用新参数指定文件并启动jvm:

java -Dcom.sun.management.jmxremote.port=4433 -Djava.rmi.server.hostname=192.168.1.171 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=jmc.pass -Dcom.sun.management.jmxremote.access.file=jmc.access -jar xxx.jar

新建JMC并指定用户名密码:

 

 

 

 

 

这篇关于JMC连接远程jvm的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!