目录
一、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版本之后即可。
|