• 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

  • 相关阅读:
    SpringBoot单元测试:1分钟学会单元测试
    Vite项目无法通过IP+端口的方式访问开发服务
    Element修改弹窗类组件的层级
    2022蓝桥杯A组题解
    单源最短路径
    【校招VIP】产品分析之功能分析
    【校招VIP】产品分析之活动策划宣传
    双非一本想逆袭进大厂,怎么才能打败985/211?
    【java校招你不知道的那些事儿】java校招分层级,找准定位很重要
    互联网大厂疯狂裁员,原因竟是……校招学生该如何最大程度规避风险?
  • 原文地址:https://www.cnblogs.com/cdblogs/p/9047275.html
Copyright © 2020-2023  润新知