正文
一、Jvisual Vm的安装
1、插件安装
Java VisualVM是一个工具,它提供了一个可视化界面,用于查看基于Java技术的应用程序(Java应用程序)在Java虚拟机(JVM)上运行时的详细信息。但是jdk8之后的版本,jdk工具包中不再带有visualvm工具,因此需要我们自行下载。下载地址
下载后解压缩,文件结构目录如下
修改/etc/visualvm.conf文件,修改为自己的JAVAHOME路径
然后进入bin目录启动。
注意:请保证你的JAVAHOME中没有jre目录,不然visaulvm启动不起来,也不显示报错信息
2、idea插件方式安装
然后启动,配置vivuusalvm.exe路径和JAVAHOME路径之后启动。
二、远程连接
本文以docker构建的springboot项目为例设置jmx方式远程连接
1、修改dockerfile文件
FROM openjdk:17 VOLUME /tmp ADD *.jar app.jar ENV JAVA_OPTS="\ -server \ -Xmx512m \ -Xms512m \ -Xmn64m \ -XX:+UseG1GC \ -XX:GCTimeRatio=99 \ -XX:MaxGCPauseMillis=20 \ -XX:MetaspaceSize=256m \ -XX:MaxMetaspaceSize=256m \ -XX:+PrintGC \ -XX:+PrintGCDetails \ -Xloggc:/var/log/gc-%t.log \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.rmi.port=10086 \ #远程连接的接口 -Dcom.sun.management.jmxremote.port=10086 \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Djava.rmi.server.hostname=192.168.139.163 " #远程主机的ip ENTRYPOINT java ${JAVA_OPTS} --add-opens java.base/java.lang=ALL-UNNAMED -Djava.security.egd=file:/dev/./urandom -jar /app.jar #--add-opens java.base/java.lang=ALL-UNNAMED 解决jdk9之后模块化反射失败问题 #-Djava.security.egd=file:/dev/./urandom 添加随机数使tomcat可以快速启动
2、修改jenkins的启动脚本
3、
4、效果图
5、有一个不足GC插件不能使用,应该是jdk版本的问题,修改jdk版本之后即可。