你真的学会Java自带的监控工具VisualVM的用法了吗

前言

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


工具位置

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


功能介绍

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

你真的学会Java自带的监控工具VisualVM的用法了吗_第1张图片


比如抽样器,点击CPU,就可以看到各个类以及方法执行的时间,可以监控哪个类的方法执行时间较长,一眼就能定位到具体的异常方法。
你真的学会Java自带的监控工具VisualVM的用法了吗_第2张图片

点击内存,也一样,很直观的就能找到哪个位置可能存在内存泄漏的情况。
你真的学会Java自带的监控工具VisualVM的用法了吗_第3张图片

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

地址:https://visualvm.github.io/pl...

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

你真的学会Java自带的监控工具VisualVM的用法了吗_第4张图片
然后点击工具-插件,将地址改为正确的地址:
你真的学会Java自带的监控工具VisualVM的用法了吗_第5张图片
然后就可以安装插件了,勾选可用插件中的这两个:BTrace Workbench和Visual GC
你真的学会Java自带的监控工具VisualVM的用法了吗_第6张图片
点击安装即可。
装完后:
你真的学会Java自带的监控工具VisualVM的用法了吗_第7张图片
你真的学会Java自带的监控工具VisualVM的用法了吗_第8张图片
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"

你真的学会Java自带的监控工具VisualVM的用法了吗_第9张图片

保存,重启。
2)、远程-右键,添加主机

你真的学会Java自带的监控工具VisualVM的用法了吗_第10张图片

添加jmx连接:
你真的学会Java自带的监控工具VisualVM的用法了吗_第11张图片
你真的学会Java自带的监控工具VisualVM的用法了吗_第12张图片
然后就和监控本地一样了!

总结

  个人经过测试,监控内网服务器没问题,但是阿里云服务器远程连接会报错:【无法使用 service:jmx:rmi:///jndi/rmi:///jmxrmi 连接到9004】

  这是因为云服务器自己的安全策略阻挡了远程监控,所以VisualVM最好的使用场景是远程监控局域网内的服务器。

本人原创文章全部手打,觉得有一滴滴帮助的话就请伸出芊芊玉手点个赞和收藏吧~^_^
更多最新技术文章可关注公众号:【9i分享客栈】

你可能感兴趣的:(你真的学会Java自带的监控工具VisualVM的用法了吗)