visualvm远程监控jvm_JVM系列(3)- Java VisualVM使用

fa93af32d6b087b4d2eb1cb9a606b32e.png

前言

Java VisualVM是jdk自带一款工具,可以十分友好的监控java进程相关的应用服务及中间件。

工具位置

jdk的bin目录下,找到jvisualvm.exe,双击打开即可。

功能介绍

1、抽样器和profiler,这两个差不多,用其中一个即可。

96f59a6767e31c20426abb2288287f6d.png

比如抽样器,点击CPU,就可以看到各个类以及方法执行的时间,可以监控哪个类的方法执行时间较长,一眼就能定位到具体的异常方法。

66ec1a6e472f81073977c37747c056f8.png

点击内存,也一样,很直观的就能找到哪个位置可能存在内存泄漏的情况。

6ef15a2518acb2de43616b52147ed769.png

2、安装visualGC插件

直接在java visualVM上安装是安装不上的,要去官网下载插件。

地址:https://visualvm.github.io/pluginscenters.html

java -version查一下java版本,然后根据版本下载对应的插件。

70db4474ceab9ed39277ac2c556caac3.png

5eaa985f426ce4460559522ecb5cdb4f.png

然后点击工具-插件,将地址改为正确的地址:

4485c40b193453968237972547308e59.png

然后就可以安装插件了,勾选可用插件中的这两个:BTrace Workbench和Visual GC

68c50c2cd6d9beaebff323e340fdbb21.png

点击安装即可。

装完后:

e535992fd89ffac48064dbb1cf0cfccf.png

b0af20d48fdab2503dbf9acc43c8cf99.png

3、JVisualVM监控tomcat(在第2点的基础上)

1)、配置要监控的远程tomcat中的catalina.sh文件,加入以下部分:
找到JAVA_OPTS,在上方加入:(主要是端口port和主机hostname,记住端口不要和服务器上已经占用的发生冲突,如果是云服务器要开放端口。)

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=39.108.70.86"

2557b3986e05f0d8572f73bb0bf5d516.png

保存,重启。

2)、远程-右键,添加主机:

dc6a37eb8bb188500a14db4bf0198fbc.png

添加jmx连接:

84deec04e577178f86c757f3f431f5d8.png

a5169aea976f385620949552308bff66.png

然后就和监控本地一样了!

总结:

个人经过测试,监控内网服务器没问题,但是阿里云服务器远程连接会报错:【无法使用 service:jmx:rmi:///jndi/rmi:///jmxrmi 连接到9004】,这是因为云服务器自己的安全策略阻挡了远程监控,所以VisualVM最好的使用场景是远程监控局域网内的服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值