Java Mission Control(JMC)介绍

Java Mission Control(JMC)

可用于本地/远程监控JVM的运行状态的管理工具,如果在WINDOWS环境下,程序路径:$JAVA_BIN/jmc.exe
Java Mission Control(JMC)介绍_第1张图片

远程连接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->点击“完成”即可。
Java Mission Control(JMC)介绍_第2张图片

常见问题

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

Java Mission Control(JMC)介绍_第3张图片

为什么连接远程机器,却报连接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)