Java VisualVM监控远程JVM

本次使用的是jdk1.8,tomcat8.5

1.首先在输入hostname -i,查看本机的ip,若出现的是127.0.0.1,则需要设置映射,使用root账号

vi /etc/hosts #编辑hosts文件

在文件中添加

ip 主机名

保存退出即可,主机名可以通过hostname查看

2.编辑tomcat目录下的setenv.sh文件(没有就新建)

JAVA_OPTS="-Djava.rmi.server.hostname=ip -Dcom.sun.management.jmxremote.rmi.port=8180 -Dcom.sun.management.jmxremote.port=8180 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

3.设置防火墙规则,将2中的的端口号排除在防火墙规则外

vi /etc/sysconfig/iptables

如图

service iptables restart #重启防火墙  
/sbin/iptables -L -n  #查看开放端口

4.在本地cmd中 telnet ip:端口,若是通,说明配置成功

5.重器tomcat服务器,使配置生效

6.在本地jdk目录下的bin目录内找到jvisualvm.exe,双击打开程序,在远程-》添加远程主机-》输入远程主机ip,如图

 

在新建的远程主机上右键,添加jmx连接,填入端口号即可,如图

连接成功,如下

 7.解决不支持visual gc

 vi $JAVA_HOME/jre/lib/security/java.policy

  在文件末尾的};前面加上

permission java.security.AllPermission;

  进入jdk目录下的bin目录,执行

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.106.39 -p 8182 -J-Djava.rmi.server.logCalls=true

  以上的ip和端口根据实际情况设置

在java visualVM添加jstast连接即可,若关掉jstatd,则需要再次在bin目录下执行

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.106.39 -p 8182 -J-Djava.rmi.server.logCalls=true

如下

 8.使用插件

由于默认的插件地址被墙,因此可以可在工具-》插件-》设置-》插件中心-》编辑中修改地址,即可获取到插件,推荐以下地址

https://visualvm.github.io/pluginscenters.html,这个地址下有各个版本jdk的插件地址,可以根据实际选择具体的地址,我的是

jdk1.8.0_122的,因此选择了如下地址https://visualvm.github.io/archive/uc/release138/updates.xml.gz

转载于:https://www.cnblogs.com/cdblogs/p/9047275.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值