目录
一、Jvisual Vm的安装
1、插件安装
2、idea插件方式安装
二、远程连接
一、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的启动脚本 ,jenkins构建docker项目参考
3、
4、效果图
5、有一个不足GC插件不能使用,应该是jdk版本的问题,修改jdk版本之后即可。



