JVM性能分析神器-VisualVM

本文涉及:JVM性能调优内存分析神器VisualVM的介绍与使用

基本概念

JVM本身为我们提供了很多性能监控的工具,其中有基于命令行的也有基于图形用户界面的,而个人感觉VisualVM就是其中最优秀的一个工具。

使用VisualVM我们可以做这些事:

  • 生成和分析海量数据

  • 跟踪内存泄漏

  • 监控垃圾回收器

  • 执行内存、线程、CPU分析

  • 还有很强大的插件库等待你来探索

当然,这么牛逼其实是有原因的,VisualVM其实本身是基于这些工具的:jstat、JConsole、jstack、 jmap、 jinfo

本地使用

使用VisualVM无需单独下载安装,它就在JDK的bin目录里,双击jvisualvm.exe就可以打开。

打开之后就可以看到在左侧本地标签页下有当前本机启动的一些Java程序,选中其中一个程序后右侧概述标签页会显示当前程序的一些基本的信息

640?wx_fmt=png

接下来监视标签页可以观看当前程序的CPU、内存、类的加载情况以及线程的相关信息。在此标签页还可以选择执行垃圾回收以及dump堆

640?wx_fmt=png

接下来线程标签页可以查看线程的详细信息以及dump线程

640?wx_fmt=png

然后是抽样器,可以进行CPU和内存的性能数据的收集

640?wx_fmt=png

使用VisualVM监控服务器上的Java程序

想要监控服务器上的Java程序就需要在启动时增加一下启动参数了

java -Djava.rmi.server.hostname=你的服务器ip	
-Dcom.sun.management.jmxremote	
-Dcom.sun.management.jmxremote.port=监控端口,不是程序端口	
-Dcom.sun.management.jmxremote.authenticate=false	
-Dcom.sun.management.jmxremote.ssl=false  	
-jar demo-0.0.1-SNAPSHOT.jar

紧接着就可以在左侧远程标签上右键选择添加远程主机,主机名填写远程ip,接着右键刚添加的主机选择添加JMX连接,输入远程端口就可以进入远程服务器上程序的监控页面。具体内容和本地相似这里就不再陈述

其他

接下来左侧还包含两个功能,解析dump文件和快照文件。再有一个比较神奇的地方就是它的插件功能,点击上方工具选择插件-可用插件会有一些非常神奇的插件等你去探索

640?wx_fmt=png

640?wx_fmt=jpeg

万水千山总是情,点个 “在看” 行不行!!!

640?wx_fmt=png 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值