使用Visual VM 监控远程Linux服务器上的 JVM的垃圾回收情况

注:以下用到的ip均为随机乱写的,非真实IP

一、启动服务器jar包 

本人服务器运行的 springboot  程序,所以直接在启动jar包时,添加相关的参数即可 。(ip为乱写的)

java -Dcom.sun.management.jmxremote.port=19100 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=116.196.123.130 -Dfile.encoding=UTF-8  -Xms256m -Xmx256m -jar  /root/dev/ybf-system-0.0.2-SNAPSHOT.jar 

另:如果jar包是运行在docker 的镜像中的,需要多加一个参数  Dcom.sun.management.jmxremote.rmi.port=19001

java -Djava.rmi.server.hostname=47.75.162.8 -Dcom.sun.management.jmxremote.port=19001 -Dcom.sun.management.jmxremote.rmi.port=19001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dfile.encoding=UTF-8 -Xms256m -Xmx256m -jar /root/app/lv-miaosha-0.0.2-SNAPSHOT.jar &

二、远程连接

1、打开visual vm ,点击 “文件” 、“添加远程主机”  ,输入主机名test(端口默认即可)

2、在test 上右击,选择添加JMX连接,输入  ip : 连接端口

 

确定,在生成的连接上双击即可连接

扫描二维码关注公众号,回复: 6555461 查看本文章

三、安装visual GC  插件

问题描述:VisualVM连接远程服务器有两种方式:JMX和jstatd,两种方式都不能完美支持所有功能。

例如:JMX不支持VisualGC,jstatd不支持CPU监控,实际使用可同时配置上并按需选用。

下面介绍如何配置jstatd连接方式,实现使用visualgc插件查看远程服务器上java程序的gc情况:

1.修改远程服务器上java设置 (如果配置了JAVA_HOME)

    vi $JAVA_HOME/jre/lib/security/java.policy

   在文件末位的   };  前添加
    permission java.security.AllPermission;

2. 启动jstatd

进入 $JAVA_HOME/bin 目录下执行

 ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=121.42.30.8(远程服务器IP)

3.本地启动VisualVM,因为在配置JMX时已经添加过服务器节点,如果配置正确,通常VisualVM会自动检测到jstatd连接并添加节点

猜你喜欢

转载自www.cnblogs.com/lostvip/p/11057939.html
今日推荐