• 主机jvisualvm连接到tomcat服务器查看jvm状态


    ​使用JMX方式连接到tomcat,连接后能够查看前边的部分内容,但是不能查看Visual GC,显示不受此JVM支持,
    在这里插入图片描述

    对了,要显示Visual GC,首先要安装visualvm工具,具体安装方式就是根据自己的jdk版本下载对应的Java VisualVM插件,然后通过Java自带的Java VisualVM工具菜单栏上的工具→插件→已下载插件进行安装,安装后记得重启Java visualVM工具

    插件下载地址:
    VisualVM: Plugins Centers
    https://visualvm.github.io/pluginscenters.html
    在这里插入图片描述

    安装完成后,默认显示部分本地的jvm项目,其中,可以看到本地idea启动了部分进程,可以点击查看,
    在这里插入图片描述

    但是连接到远程tomcat,需要进行部分配置,可以参考文章:

    通过Tomcat开启JMX监控的方法图解_Tomcat_服务器之家

    注意,编辑的catalina中的ip是服务端的自身的ip,不是连接tomcat的主机的ip,编辑完tomcat的catalina.sh配置后,重启tomcat,最好也重启一下visualGC工具

    然后按照图解说明连接上远程tomcat

    图:
    在这里插入图片描述

    这里可以发现远程连接后不能正常显示VisualGC的内容,插件不支持visualGC通过JMX方式连接远端已运行的jvm,这时要通过另一个方式jstatd方式进行连接

    参考文章:

    VisualVM jstatd JVM VisualVM jstatd连接服务器JVM - 大手牵小手 - 博客园

    这里的ip也是你服务端的ip,不是自己本机ip,还有就是防火墙一定要关,要注意一下,配置完成后,把tomcat停了,还有之前启动的jstatd进程杀掉,然后重启tomcat,重新使用以下命令进行启动jstatd,

    进入jdk8的bin目录

    cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64/bin

    ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.202.11 -p 12345 &

    启动完成后,使用 jstatd 方式进行连接
    在这里插入图片描述
    端口号也输入一下12345
    在这里插入图片描述

    再去点击VisualGC就能正常查看了,这时候,可以把之前添加的JMX删了,然后重新添加一个JMX,然后再点击VisualGC就能正常查看了
    在这里插入图片描述

    连接由java -jar命令执行的java文件

    修改脚本

    #!/bin/bash
    nohup java -Djava.rmi.server.hostname=18x.xx.xx.106 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.rmi.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+PrintGC -XX:+PrintCommandLineFlags -Xms256m -Xmx256m -jar /home/seagull/java/learning-mobile-api.jar > /var/log/java/istudy-api.log 2>&1 &
    
    • 1
    • 2

    ​改为服务器的ip

    jvisualvm这边然后按照上述方式添加:远程 → 添加远程主机 → 右击添加的远程主机 → 添加JMX连接 → 输入IP+端口,点击确定就可以了

  • 相关阅读:
    2023高教社杯全国大学生数学建模竞赛E题代码解析
    栈的压入、弹出序列
    o(1)复杂度找出栈中最小的元素
    《动手学深度学习》d2l 李沐B站视频配套学习笔记
    MySQL里为什么会建议不要使用SELECT ?
    金仓数据库KingbaseES客户端应用参考手册--6. dropuser
    探究Socks5代理和代理IP在技术领域的多重应用
    MySQL-SQL语言
    JVM原理及优化_垃圾回收算法
    RK3399驱动开发 | 12 - AP6255 SDIO WiFi 调试(基于linux4.4.194内核)
  • 原文地址:https://blog.csdn.net/qq_27577113/article/details/133823739