[译]Java 垃圾回收的监控和分析
说明:这篇文章来翻译来自于Javapapers 的Java Garbage Collection Monitoring and Analysi
在这个系列的Java垃圾回收教程中,我们将看到可用于垃圾回收监控和分析的工具。然后使用一个工具去监控用于举例的java程序的垃圾回收过程。如果你是一个新人,你最好通读这个系列的教程。你可以从Java垃圾回收的介绍开始。
Java垃圾回收监控和分析的工具
下面是几个可用的工具。它们每一个都有自己的优势和劣势。通过选择合适的工具和使用有组织的方式来分析我们可以提升程序的表现力。在这个教程中我们将使用Java VisualVM
- Java VisualVM
- Naarad
- GCViewwe
- 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可以通过JavaSE SDK的安装中免费获取。看一下你的JDK的安装的可执行二进制文件夹,路径是\Java\jdk1.8.0\bin。和javac和java工具一起还有其他很多能够使用的工具。jvisualvm只是他们其中的一个。
Java VisualVM 提供了一个可视化的接口用来展示关于正在运行的java程序的信息。它是一个将很多工具绑定成的工具。像JConsole、jstat、jinfo、jstack、jmap这些工具现在都是Java VisualVM的一部分了。
Java VisualVM能够用于
- 生成和分析堆内存垃圾
- 查看和操作MBeans
- 监控垃圾回收
- 内存和CPU分析
1.运行 VisualVM
jvisual 能够在JDK的安装目录中找到。


2.安装VisualGC 插件
为了有一个更棒的视觉感受关于Java GC 过程,我们需要安装一个Visual GC 插件

3.监控垃圾回收(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分析进程,它将详细的展示每个实例的利用率。它可以帮助去明确表现出来的问题。

伴随着这部分教程,我们系列教程已经来到了尾声。
[译]Java 垃圾回收的监控和分析的更多相关文章
- [译]Java 垃圾回收介绍
说明:这篇文章来翻译来自于Javapapers 的Java Garbage Collection Introduction 在Java中,对象内存空间的分配与回收是由JVM中的垃圾回收进程自动完成的. ...
- [译]GC专家系列2:Java 垃圾回收的监控
原文链接:http://www.cubrid.org/blog/dev-platform/how-to-monitor-java-garbage-collection/ 这是"成为GC专家系 ...
- Java GC专家系列2:Java 垃圾回收的监控
这是”成为GC专家系列”文章的第二篇.在第一篇理解Java垃圾回收中我们学习了几种不同的GC算法的处理过程,GC的工作方式,新生代与老年代的区别.到目前为止,你应该已经了解了JDK 7中的5种GC类型 ...
- [译]Java垃圾回收是如何工作的
说明:这篇文章来翻译来自于Javapapers 的How Java Garbage Collection Works 这部分教程是为了理解Java垃圾回收的基础以及它是如何工作的.这是垃圾回收系列教程 ...
- java 垃圾回收总结(可达性分析 引用分类
java 垃圾回收总结(1) 以前看过很多次关于垃圾回收相关的文章,都只是看过就忘记了,没有好好的整理一下,发现写文章可以强化自己的记忆. java与C,c++有很大的不同就是java语言开发者不 ...
- 如何优化Java垃圾回收-zz
为什么需要优化GC 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但前提是所运行的基于Java的系统,包含了如下参数或 ...
- Java垃圾回收介绍(译)
在Java中,对象内存空间的分配与回收是由JVM中的垃圾回收进程自动完成的.与C语言不同的是,在Java中开发者不需要专门为垃圾回收写代码.这是使Java流行的众多特征之一,也帮助了程序员写出了更好的 ...
- 成为JavaGC专家(2)—如何监控Java垃圾回收机制
什么是GC监控? 垃圾回收收集监控指的是搞清楚JVM如何执行GC的过程,例如,我们可以查明: 1. 何时一个新生代中的对象被移动到老年代时,所花费的时间. 2. Stop-t ...
- 成为JavaGC专家(3)—如何监控Java垃圾回收机制(转载)
原文:http://www.importnew.com/3146.html 为什么需要优化GC 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并 ...
随机推荐
- Java 新特性(5) - Java EE 5 新特性
Java EE 5 由 Java Community Process 通过 Java Specification Request 244 发布,这个 “总纲” JSR 指出了详细描述 Java EE ...
- 使用方便 正则表达式grep,sed,awk(一)
一些无稽之谈: 对于正则表达式,永远似了解不明白,看到一些代码,脚本定期,awk,sed.心里总有点虚.主要是记不住.平时又没怎么用,也就没总结了. 如今有空,决定总结一下,顺便克服一下看到shell ...
- SVD在推荐系统中的应用
一.奇异值分解SVD 1.SVD原理 SVD将矩阵分为三个矩阵的乘积,公式: 中间矩阵∑为对角阵,对角元素值为Data矩阵特征值λi,且已经从大到小排序,即使去掉特征值小的那些特征,依然可以很好地重构 ...
- Redux管理你的React应用
使用Redux管理你的React应用 因为redux和react的版本更新的比较频繁,博客园这里用的redux版本是1.0.1,如果你关心最新版本的使用技巧,欢迎来我的Github查看(https ...
- Learn Python More
0, 看了一个python项目开源源码, 才知道现在这点python知识实在是弱爆了.. 尼玛就像学了2500个常用汉字, 然后要去理解"楚辞".. 代码如下, 解释一点一点从网上 ...
- 深入了解Libgdx中间Skin分类
文不是直接翻译.. . 本文在Libgdx的官方wiki的基础上,加上一些自己的理解.所以,难免会一些甚至是非常多的理解非常片面的东西.写的不好,还请见谅.... 事实上 事实上.在LibGDX的官方 ...
- android在单身的对象和一些数据的问题被释放
正式接触android我们一直在开发了一段时间,该项目的第一个版本最终会很快结束. 当有它自己的测试.拥有android后台.同一时候打开了几个应用之后又一次切回到自己的app.发现报错了.经过排查, ...
- Android监视返回键
android在发展中,监视键返回到后事件经常被用来,在下面的例子来说明什么android返回键事件监听器. public class BackKeyTest extends Activity { / ...
- Sierpinski三角形
转载请标明地址:http://www.cnblogs.com/wangmengmeng/ 效果图: 通项公式:An=3的N-1次方 源代码: #include <graphics.h> # ...
- 无废话WCF入门教程三[WCF的宿主]
一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...