JConsole远程连接配置

转载:https://www.cnblogs.com/think-in-java/p/6138439.html

JConsole远程连接还是有一点坑的。这里记录一下配置过程,好记性不如烂笔头。

 

1.在远程机的tomcat的catalina.sh中加入配置:

1、首先需要停止正在运行的服务
2、然后在Linux的服务器启动项中添加如下信息:
-Djava.rmi.server.hostname=192.168.1.122
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=911
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
比如说我需要了解在压力测试过程中Linux系统中JAVA进程的资源占用情况,那么我就可以在
JAVA进程
的启动项中加入上述信息,这样通过本机Windows中JDK的Jconsole来监控了。
其中第一个参数可以用来设置欲连接的Linux机器的IP地址,该项必须设置,否则远程连接会因为解析到127.0.0.1出现连接失败的情况。
如果不设置该项,也可以通过修改Linux的/etc/hosts文件,使hostname -i指向正确的IP,所以还是该选项更为方便。
第三个参数是设置欲连接到Linux机器上的端口号,在不跟Linux中现有端口冲突的情况下,可随意设置该端口

2.配置权限文件

[root@localhost bin]# cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/management/

[root@localhost management]# cp jmxremote.password.template jmxremote.password

[root@localhost management]# vi jmxremote.password

monitorRole QED
controlRole chenqimiao

3.配置权限文件为600

1
[root@localhost management] # chmod 600 jmxremote.password jmxremote.access

  

这样基本配置就结束了,下面说两个坑,第一个就是防火墙的问题,要开放指定端口的防火墙,我这里配置的是12345端口,第二个是hostname的问题

1
[root@localhost lib] # vi /etc/hosts

请将127.0.0.1修改为本地真实的IP,我的服务器IP是192.168.202.121

 

 

最后的话

JConsole远程连接配置_第1张图片

 

 

就能看到你想要的咯。

JConsole远程连接配置_第2张图片

 

另外给用VisualVM 用户一个温馨提示:使用VisualVM进行远程连接的配置和JConsole是一摸一样滴。

JConsole远程连接配置_第3张图片


错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException

mac上运行tomcat时提示以下错误:

错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: xxx: xxx: nodename nor servname provided, or not known

解决办法: 
修改/etc/hosts 

127.0.0.1       localhost
  • 1
  • 2

改成

127.0.0.1       localhost xxx
  • 1

即可~ 
xxx 是异常中xxx对应的内容


你可能感兴趣的:(Java)