说明:这篇文章来翻译来自于Javapapers 的Java Garbage Collection Monitoring and Analysijava
在这个系列的Java垃圾回收教程中,咱们将看到可用于垃圾回收监控和分析的工具。而后使用一个工具去监控用于举例的java程序的垃圾回收过程。若是你是一个新人,你最好通读这个系列的教程。你能够从Java垃圾回收的介绍开始。工具
下面是几个可用的工具。它们每个都有本身的优点和劣势。经过选择合适的工具和使用有组织的方式来分析咱们能够提高程序的表现力。在这个教程中咱们将使用Java VisualVM插件
Java VisualVM能够经过JavaSE SDK的安装中免费获取。看一下你的JDK的安装的可执行二进制文件夹,路径是\Java\jdk1.8.0\bin
。和javac和java工具一块儿还有其余不少可以使用的工具。jvisualvm
只是他们其中的一个。翻译
Java VisualVM 提供了一个可视化的接口用来展现关于正在运行的java程序的信息。它是一个将不少工具绑定成的工具。像JConsole、jstat、jinfo、jstack、jmap这些工具如今都是Java VisualVM的一部分了。code
Java VisualVM可以用于orm
jvisual
可以在JDK的安装目录中找到。
对象
为了有一个更棒的视觉感觉关于Java GC 过程,咱们须要安装一个Visual GC 插件教程
如今咱们能够监控垃圾回收过程了。开启你的Java程序,而后它能够自动被发现而且被展现在Java VisualVM界面中。在Local
节点的下面的左边的Application
面板中,全部的本地运行的java程序都会被列举出来。接口
Java VisualVM是一个java程序并且它也会被显示在里面。为了教程的目的,咱们将监控VisualVM 程序自己。进程
双击Local
节点的下面的VisualVM图标。
如今程序的监控面板已经在右边被打开了。那边有不一样的标签页去显示和程序相关的不一样的监控部分。咱们如今的注意力点在Visual GC
,点击它吧,
在上面的图片中,展现了内存区中Old、S0、S1的利用率。在下面的图中,显示了每段智能的分配和回收内存。它以定义好的频率来刷新。
上面的图表示的是一个程序正常的状况。若是存在内存泄露或者其余不正常的状况,它将明显的进行回收操做。咱们至少能够知道有一个问题和对象内存的分配和来及回收有关。在其余的标签页像Threads
和Thead DUmp的帮助下,咱们能够减小这种问题。
在Monitor
标签页中,咱们可以经过一个时间序列图来监控堆内存的利用率。咱们可以经过Perform GC
按钮来初始化垃圾回收进程。
在Sampler
标签页中,咱们可以开启内存和CPU分析进程,它将详细的展现每一个实例的利用率。它能够帮助去明确表现出来的问题。
伴随着这部分教程,咱们系列教程已经来到了尾声。