一、概述
上一个专题专门举例说明了使用VisualVM进行远程监控以及对Tomcat的远程监控,如果有兴趣,可以查看:
http://josh-persistence.iteye.com/blog/2233459
该专题将讲解如何使用VisualVM生成快照、以及如何对JVM的GC进行监控,最后举例说明如何将VisualVM和eclipse进行集成。
二、快照功能
我们可以使用 VisualVM 的快照功能生成任意个性能分析快照并保存到本地来辅助我们进行性能分析。快照为捕获应用程序性能分析数据提供了一个很便捷的方式因为快照一旦生成可以在任何时候离线打开和查看,也可以相互传阅。VisualVM 提供了两种类型的快照:Profiler快照和应用程序快照。
- Profiler 快照:当有一个性能分析会话(内存或者 CPU)正在进行时,我们可以通过性能分析结果工具栏的“快照”按钮生成 Profiler 快照捕获当时的性能分析数据。
点击“快照”按钮后,生成Profiler快照,也可以选择存储该快照在本地:
- 应用程序快照:我们可以右键点击左侧 Applications 窗口中应用程序节点,选择“应用程序快照”为生成一个应用程序快照。应用程序快照会收集某一时刻的堆转储,线程转储和 Profiler 快照,同时也会捕获 JVM 的一些基本信息。
保存快照后便可以按照脱机的离线分析应用程序了。
三、监控JVM GC
如果需要使用VisualVM监控GC,首先我们需要安装visual GC 插件,在上面的启动界面中点击工具->插件->可用插件->Visual GC
安装结束后,就可以开始监控GC了,运行前面第一讲中说到的HeapMemoryTest.java,可以得到如下的截图:
上图的左边显示了Old,Eden,S0,S1使用的内存空间。右面的图表显示了各个部分申请和释放内存的详细信息。它以设定的刷新频率不停地跟新。
上图显示的是一个正常运行的程序。当发生内存泄露或者不正常的操作时,可以从图形本身明显地看出来,至少我们可以知道程序中存在和对象内存分配 和垃圾回收相关的问题。然后利用其他标签如“Threads”中提供的信息和Thread Dump我们可以缩小发生问题的范围。如下图:
在“监视”标签中,我们可以看到以时间线发展的内存使用概况图。这里有个“执行垃圾回收”按钮可以调用垃圾回收过程。
四、与Eclipse集成
其实我并不介意将eclipse和virsualvm集成起来,这不仅会加重eclipse的负担,在eclipse中的virsualvm标签和eclipse的程序代码标签之间切换来切换去会比较麻烦,还不如像前面所提到的一样,直接在控制台中启动visualvm,这样当eclipse中的程序启动的时候,就会默认被visualvm所监控到,这样不仅减轻了eclipse的负担,在问题发生时,也可以很好的对照eclipse中的代码和visualvm中的状态。
但是如果你确实很想在eclipse中添加visualvm的插件,首先可以从这里下载最新的eclipse launcher for visual vm: https://visualvm.java.net/eclipse-launcher.html,然后参照如下的两篇博客:
http://developer.51cto.com/art/200906/130424_all.htm
http://www.blogjava.net/Nirvana/archive/2012/09/13/387618.html
相关推荐
JAVA JVM性能调优监控工具详解
JVM性能调优监控工具1
jvm性能调优+内存模型+虚拟机 jvm性能调优+内存模型+虚拟机 jvm性能调优+内存模型+虚拟机
jvm知识点总览:jvm 内存机构、JVM监控工具、JVM调优、GC优化
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx
JVM下篇:性能监控与调优篇.7z
long果 深入理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理)。讲解相当详细,值得一看。下载仅供参考学习,侵权联删。
java虚拟机(JVM)调优案例分析与Eclipse性能调优实战
java虚拟机(JVM)调优案例分析与MyEclipse性能调优实战
JVM系列之性能调优参考手册(实践篇).pdf,资源分享达人
jvm性能调优,主要讲解jvm性能调优和垃圾回收性能优化
从实践中不断总结摸索的JVM调优经典之作,希望能给广大网友带来帮助!
JVM下篇:性能监控与调优篇
├── 第7篇-JVM性能监控篇.png?x-oss-process=style/pnp8 ├── 第8篇-JVM性能调优案例篇.png?x-oss-process=style/pnp8 └── 下载必读.txt 2.资料/ ├── apache-jmeter-5.4.1.zip ├── arthas-boot.jar ├...
个人JVM性能调优经验总结
JVM性能监控与调优实战课程,作为整篇课程的重中之重,非常值得同学们参考学习。课程前端讲解了JVM的性能监控和调优的概述,对调优的的方法和工具进行讲解学习,让同学们掌握方法,理解知识。课程的中间阶段我们进行...
JVM参数调优 及 JAVA相关工具使用
Mac版JProfiler+JVM性能调优工具。 JProfiler 的内存视图部分可以提供动态的内存使用状况更新视图和显示关于内存分配状况信息的视图。所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象。
jvm性能调优实战篇视频
JVM性能调优