zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    关于ios6.0和5.0的横竖屏支持方法
    windows环境下搭建vue+webpack的开发环境
    诗歌类网址
    【第1阶段—GIS网址清单】其它杂项
    android内存指标
    Rownum与Order by
    使用反射复制一个JavaBean的对象
    catalog
    oralce中rownum理解
    BlockingQueue
  • 原文地址:https://www.cnblogs.com/cdblogs/p/9047275.html
Copyright © 2011-2022 走看看