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

JMC连接远程jvm_第1张图片

虚拟机启动参数:

指定被监控的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连接远程jvm_第2张图片JMC连接远程jvm_第3张图片

使用JMC新建连接:

JMC连接远程jvm_第4张图片JMC连接远程jvm_第5张图片

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

JMC连接远程jvm_第6张图片

 

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

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

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

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

 

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

JMC连接远程jvm_第7张图片

设置文件的权限: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连接远程jvm_第8张图片

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

JMC连接远程jvm_第9张图片

 

 

 

 

 

你可能感兴趣的:(其他,JMC)