[译]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的服务,并 ...
随机推荐
- 定义你自己ViewGroup
尊重原创:http://blog.csdn.net/yuanzeyao/article/details/40264433 好久都没有写文章了,如今利用周末的时间对一些知识进行总结.便于加深理解,今天我 ...
- 【2014】【】辛星【php】【秋】【1】php构建开发环境
**************************什么是开发环境*********************** 1.我们学习PHP,是使用它来做web用的,通俗理解,就是做站点. 2.站点的执行须要 ...
- 定制Attribute
目录 Attribute是什么 自定义Attribute 一.Attribute是什么 将一些附加信息与制定目标相关联的方式.编译器在元数据中生成这些额外的信息.也叫做特性. 比如之前文章中提到的:枚 ...
- SQL开发中容易忽视的一些小地方(六)
原文:SQL开发中容易忽视的一些小地方(六) 本文主旨:条件列上的索引对数据库delete操作的影响. 事由:今天在博客园北京俱乐部MSN群中和网友讨论了关于索引对delete的影响问题,事后感觉非常 ...
- HTTP Cookie深入理解
HTTP Cookie 概述:Cookie通常也叫做网站cookie,浏览器cookie或者http cookie,是保存在用户浏览器端的,并在发出http请求时会默认携带的一段文本片段.它可以用来做 ...
- Android Push Notifications using Google Cloud Messaging (GCM), PHP and MySQL
http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php- ...
- 基于Haar特征Adaboost人脸检测级联分类
基于Haar特征Adaboost人脸检测级联分类 基于Haar特征Adaboost人脸检测级联分类,称haar分类器. 通过这个算法的名字,我们能够看到这个算法事实上包括了几个关键点:Haar特征.A ...
- hdu 4445 Crazy Tank (暴力枚举)
Crazy Tank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- unity3d 学习笔记_____Native2d 刚体、冲击、联合使用
Mass Mass of the rigidbody. Linear Drag Drag coefficient affecting positional movement. Angular Drag ...
- 4、Cocos2dx 3.0三,找一个小游戏开发Hello World 分析
尊重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27186557 Hello World 分析 打开新 ...