VisualVM 远程连接
1、准备工作
准备工作是为了测试使用
1.1、代码地址
https://gitee.com/DanShenGuiZu/learnDemo/tree/master/visualvm-learn/demo1
1.2、将jar包放到机器上
2、远程连接–JMX方式
2.1、修改JDK配置文件
# 进入修改目录
cd /usr/local/jdk1.8/jre/lib/management
# 拷贝配置文件
cp jmxremote.password.template jmxremote.password
# 修改配置
vim jmxremote.password
修改内容
去掉 # monitorRole QED 的注释符号
去掉 # controlRole R&D 的注释符号
2.2、添加java启动参数
JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.187.139 -Dcom.sun.management.jmxremote.rmi.port=9999"
2.2.1、各参数含义:
-Djava.rmi.server.hostname=192.168.187.139
远程服务器的主机名
-Dcom.sun.management.jmxremote
- 是否支持远程JMX访问
- 默认true;
-Dcom.sun.management.jmxremote.port
是JMX远程监控端口号,需要在防火墙开放该端口;
-Dcom.sun.management.jmxremote.ssl=false
- 表示是否对连接开启SSL加密
- 默认开启;
-Dcom.sun.management.jmxremote.authenticate=false
- 是否需要开启用户认证
- 默认开启,如果开启需要额外配置授权文件;
-Dcom.sun.management.jmxremote.rmi.port=9999
RMI端口号,JMX在远程连接时,会随机开启一个RMI端口作为连接的数据端口,可以和JMX端口号相同。
2.3、启动java
nohup java -server -Xms512m -Xmx512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.187.139 -Dcom.sun.management.jmxremote.rmi.port=9999 -jar /home/hd/java/demo1-0.0.1-SNAPSHOT.jar /home/hd/java/log.log 2>&1 &
2.4、 连接
3、远程连接–jstatd方式
3.1、配置安全策略
vim /usr/local/jdk1.8/jre/lib/security/java.policy
新增内容
permission java.security.AllPermission;
3.2、启动jstatd
/usr/local/jdk1.8/bin/jstatd -J-Djava.security.policy=all.policy &
启动后会开启注册端口1099和一个随机的连接端口,注册端口也可通过-p参数指定,如
/usr/local/jdk1.8/bin/jstatd -J-Djava.security.policy=all.policy -p 10003 &
3.3、查看
通常VisualVM会自动检测到jstatd连接并添加节点
如果没有自动添加,可以手动添加连接
|