您的位置:首页 > 编程语言 > Java开发

Java Mission Control(JMC)介绍

2016-06-04 16:01 453 查看

Java Mission Control(JMC)

可用于本地/远程监控JVM的运行状态的管理工具,如果在WINDOWS环境下,程序路径:$JAVA_BIN/jmc.exe



远程连接JVM

本地连接比较简单这里就不在赘述,远程连接JVM,我在这里利用VMWare工具进行模拟,过程中遇到一些问题,值得注意的。

远程机器环境:

1. IP:192.168.91.129

2. Java版本:SE 8u92

3. 系统版本:openSUSE Leap 42.1 (x86_64)

首先,远程机器被监控的程序需要开启调试端口,在执行java命令行中加入以下属性,属性没有以ssl安全认证方式连接的,案例中启动监听端口为7091

-Dcom.sun.management.jmxremote.port=7091
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false


然后,启动JMC客户端->“新建连接”->输入远程机器IP和port->点击“完成”即可。



常见问题

上述的操作方式非常简单,但往往事与愿违,总有些坎坷,我连接时候就遇到了下面情况,“Connection refused to host:127.0.0.1”



为什么连接远程机器,却报连接127.0.0.1本地IP错误?原来JMC连接机器需要远程机器解析机器名后返回IP给JMC来确认连接地址,即使写死了IP也是这样的过程,所以定位是远程机器的路由信息表有异常,返回127.0.0.1。

shell>hostname -i
127.0.0.1


果然返回了内部IP,而不是192.168.91.129,需要修改改下

shell>vi /etc/hosts


#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

127.0.0.1       localhost
# 增加了机器名路由信息
192.168.91.129  linux-br8i


重启机器,JMC重新连接,OK

shell>reboot
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java