前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM性能分析神器-VisualVM

JVM性能分析神器-VisualVM

作者头像
Java学习录
发布2019-05-17 15:29:56
9650
发布2019-05-17 15:29:56
举报
文章被收录于专栏:Java学习录

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

基本概念

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

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

  • 生成和分析海量数据
  • 跟踪内存泄漏
  • 监控垃圾回收器
  • 执行内存、线程、CPU分析
  • 还有很强大的插件库等待你来探索

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

本地使用

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

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

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

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

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

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

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

代码语言:javascript
复制
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文件和快照文件。再有一个比较神奇的地方就是它的插件功能,点击上方工具选择插件-可用插件会有一些非常神奇的插件等你去探索

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档