微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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并指定用户名密码

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐