首页 > Java, 挨踢(IT) > Java垃圾回收(4):监控与分析

Java垃圾回收(4):监控与分析

2014年11月30日 发表评论 阅读评论 628 人阅读    

在本节,让我们来看一看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。除javajavac之外,这里还有很多其他的可用工具。jvisualvm就是其中之一。

Java VisualVM使用图形用户界面将Java应用运行时的信息展示处理。它还集成了很多很多工具,例如JConsole、jstat、jinfo、jstack和jmap都是Java VisualVM中的一部分了。

Java VisualVM可用于:

  • 生成和分析堆内存转储(heap memory dump);
  • 查看和操作MBean;
  • 监控垃圾回收;
  • 内存和CPU分析。

1. 打开VisualVM

jvisualvm可以在JDK的bin目录下找到。

Java VisualVM初始化页面

Java VisualVM首页

2. 安装Visual GC插件

我们需要安装一个Visual GC插件,这样可以更直观地查看Java垃圾回收过程。

VisualVM安装Visual GC插件

3. 监控垃圾回收

现在到了监控垃圾回收过程的时候了。启动你的Java引用,它将自动被检测和被展示在Java VisualVM的界面上。在左侧的“Application”测看下,有个“Local”节点,所有本地正在运行的Java应用都将罗列在这里。

Java VisualVM是一个Java应用。所以,它将自己也列在这里。为了方便学习,我们将监控Java VisualVM自身的垃圾回收过程。

双击“Local”节点下的VisualVM图标。

VisualVM垃圾回收分析

现在,应用监视窗口在右侧打开。这里有很多不通的标签页(Tap)用于显示应用性能相关的每一方面。现在,我们关注的是“Visual GC”,点击它。

堆内存分配

上面这张图展示了Old、Eden、S0和S1的内存使用情况。(不了解这几个名字含义的,请看Java垃圾回收入门)下面这张图,每段显示了内存分配与回收的详细情况。它以一个设定的时间间隔保持不断刷新。

垃圾回收详情

上面这张图展示了正常的垃圾回收的过程。当存在内存泄露或者任何异常行为时,从这张图上就可以很明显地看出来。至少,我们可以了解到这里有关于对象内存分配与垃圾回收的展示。再配合其他的标签页,例如“Threads”以及线程转储你,我们就可以深入详细地了解这方面的内容。

在“Monitor”标签页,我们可以监控整个堆内存的使用情况。点击“Perform GC”来启动垃圾回收过程。

启动垃圾回收

在“Sampler”标签页,我们可以启动内存和CPU分析。它将展示每一个实例的生存状态。它用于帮助我们定位性能问题。

实例的内存分配

到这里,我们“Java垃圾回收系列”就结束了。

原文链接:Java Garbage Collection Monitoring and Analysis



作 者: D瓜哥,https://www.diguage.com/
原文链接:https://wordpress.diguage.com/archives/118.html
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

分类: Java, 挨踢(IT) 标签: , ,
  1. 2015年7月25日13:55 | #1

    方法好用

  2. ATI
    2016年4月6日17:43 | #2

    第一篇链接进入空白

  1. 本文目前尚无任何 trackbacks 和 pingbacks.