Java垃圾回收(4):监控与分析
在本节,让我们来看一看Java垃圾回收的监控与分析。然后,使用一个工具,监控一个示例应用的垃圾回收过程。如果你是个新手,最好看一下本系列的前三篇文章。你可以从“Java垃圾回收入门”开始看。
Java垃圾回收的监控和分析工具
下面是几个可用的工具。每一个可用的工具都有自己的优点和不足。使用恰当的工具,以正确的方式开展分析,可以帮助我们提高应用的性能。在本文,我们主要使用Java VisualVM。
- Java VisualVM
- Naarad
- GCViewer
- IBM Pattern Modeling and Analysis Tool for Java Garbage Collector
- HPjmeter
- IBM Monitoring and Diagnostic Tools for Java – Garbage Collection and Memory
- Visualizer
- Verbose GC Analyzer
Java VisualVM
Java VisualVM在Java SE SDK安装之后,它就可以,它是和Java SE JDK一起免费安装。你可以看一下Java JDK安装目录下的bin
文件夹。路径一般是\Java\jdk1.8.0\bin
。除java
和javac
之外,这里还有很多其他的可用工具。jvisualvm
就是其中之一。
Java VisualVM使用图形用户界面将Java应用运行时的信息展示处理。它还集成了很多很多工具,例如JConsole、jstat、jinfo、jstack和jmap都是Java VisualVM中的一部分了。
Java VisualVM可用于:
- 生成和分析堆内存转储(heap memory dump);
- 查看和操作MBean;
- 监控垃圾回收;
- 内存和CPU分析。
1. 打开VisualVM
jvisualvm
可以在JDK的bin
目录下找到。
2. 安装Visual GC插件
我们需要安装一个Visual GC插件,这样可以更直观地查看Java垃圾回收过程。
3. 监控垃圾回收
现在到了监控垃圾回收过程的时候了。启动你的Java引用,它将自动被检测和被展示在Java VisualVM的界面上。在左侧的“Application”测看下,有个“Local”节点,所有本地正在运行的Java应用都将罗列在这里。
Java VisualVM是一个Java应用。所以,它将自己也列在这里。为了方便学习,我们将监控Java VisualVM自身的垃圾回收过程。
双击“Local”节点下的VisualVM图标。
现在,应用监视窗口在右侧打开。这里有很多不通的标签页(Tap)用于显示应用性能相关的每一方面。现在,我们关注的是“Visual GC”,点击它。
上面这张图展示了Old、Eden、S0和S1的内存使用情况。(不了解这几个名字含义的,请看Java垃圾回收入门)下面这张图,每段显示了内存分配与回收的详细情况。它以一个设定的时间间隔保持不断刷新。
上面这张图展示了正常的垃圾回收的过程。当存在内存泄露或者任何异常行为时,从这张图上就可以很明显地看出来。至少,我们可以了解到这里有关于对象内存分配与垃圾回收的展示。再配合其他的标签页,例如“Threads”以及线程转储你,我们就可以深入详细地了解这方面的内容。
在“Monitor”标签页,我们可以监控整个堆内存的使用情况。点击“Perform GC”来启动垃圾回收过程。
在“Sampler”标签页,我们可以启动内存和CPU分析。它将展示每一个实例的生存状态。它用于帮助我们定位性能问题。
到这里,我们“Java垃圾回收系列”就结束了。
原文链接:Java Garbage Collection Monitoring and Analysis
原文链接:https://wordpress.diguage.com/archives/118.html
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
方法好用
第一篇链接进入空白