当前位置: 首页 > 后端技术 > Java

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

时间:2023-04-02 02:12:35 Java

Java自带的监控工具VisualVM你真的学会了吗?工具位置在jdk的bin目录下,找到jvisualvm.exe,双击打开。功能介绍1.Sampler和profiler,这两个差不多,用其中一个就好了。例如,如果你点击sampler中的CPU,你可以看到每个类和方法的执行时间。可以监控哪个类的方法执行时间过长,一眼就能定位到具体的异常方法。点击内存,一样的,很直观的找到哪里可能有内存泄漏。2、安装visualGC插件。它不能直接安装在javavisualVM上。去官网下载插件。
地址:https://visualvm.github.io/pl...
java-version查看java版本,然后根据版本下载对应的插件。然后点击Tools-Plugins,将地址改成正确的地址:然后就可以安装插件了,勾选两个可用的插件:BTraceWorkbench和VisualGC,点击Install。安装后:3、JVisualVM监控tomcat(在第2点的基础上)1)、配置要监控的远程tomcat中的catalina.sh文件,添加以下部分:找到JAVA_OPTS,在最上面添加:(主要是端口和主机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"保存并重新启动。2)、远程右键,添加主机,添加jmx连接:然后就和监控本地一样了!总结经过个人测试,监控内网服务器没有问题,但是远程连接阿里云服务器会报错:[Cannotuseservice:jmx:rmi:///jndi/rmi:///jmxrmitoconnectto9004]
这是因为云服务器自身的安全策略屏蔽了远程监控,所以VisualVM最好的使用场景是远程监控局域网内的服务器。我所有的原创文章都是手工打字的。如果觉得有一点点帮助,欢迎伸出手点赞收藏哦~^_^更多最新技术文章,请关注公众号:【9i分享客栈】