• Java GC系列(4):垃圾回收监视和分析


    目录

    1. 垃圾回收介绍
    2. 垃圾回收是如何工作的?
    3. 垃圾回收的类别
    4. 垃圾回收监视和分析

    在这个Java GC系列教程中,让我们学习用于垃圾回收监视和分析的工具。然后,选用一种工具来监视一个Java示例程序的垃圾回收过程。如果你是一名初学者,你最好仔细阅读该系列教程。你可以从这里(垃圾回收介绍)开始。

    Java GC监视和分析工具

    下面是一些可用的工具,每个都有自己的优势和缺点。我们可以通过选择正确的工具并分析,来提升应用程序的性能。这篇教程中,我们选用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 JDK的bin文件夹中(路径:Javajdk1.8.0in),这里面有很多javac和java工具,jvisualvm就是其中之一。

    Java VisualVM能够被用于:

    •   生成并分析堆的内存转储;
    •   在MBeans上观察并操作;
    •   监视垃圾回收;
    •   内存和CPU性能分析;

    1、启动VisualVM

    jvisualvm位于JDK bin文件夹下,直接点击就可以。

    2、安装可视化GC插件

    我们需要安装可视化GC插件,以便在Java GC过程中有良好的视觉感受。

    3、监视GC

    现在,是时候监视垃圾回收进程了,开启你的Java程序,它将自动被检测到并显示到Java VisualVM界面,左侧“Application”(应用程序)窗口下,“Local”(本地节点)下,所有本地运行的Java程序都会被列出。

    Java VisualVM是一个Java应用程序,因此它也会被列在其中,教程的意图在于使用VisualVM来监视它自己的GC进程。

    双击“Local”(本地)下的VisualVM图标。

    现在,程序监控窗口在右侧打开,这有许多不同关于应用程序性能的相关监视指数的tab页,目前为止,我们最感兴趣的是“Visual GC”,点击它。

    上面图片显示在Old、Eden、S0和S1上空间利用情况,下图显示了每部分空间的分配和释放情况。它按照指定的刷新率保持持续刷新。

    上面图片所展示的是正常运行程序的情况,当出现内存泄露或者反常的行为时,它会在图表中明确的显示出来。最少我们能理解他是与对象内存分配和垃圾回收相关的事情。随后,通过其他tab页(像“Threads”)和Thread Dump的帮助,我们能够减少这个问题。

    在“Monitor”tab页中,我们能够监控并定时展示所有堆内存使用情况图。通过“Perform GC”按钮可以启动垃圾回收进程。

    在“Sampler”tab页中,我们能够启动内存和CPU性能分析,它将显示详细每个实例使用的实时报告,它将帮助我们明确性能问题。

    这篇教程是我们四篇Java垃圾回收系列教程的最后一篇。

    原文链接: javapapers 翻译: ImportNew.com - lomoxy
    译文链接: http://www.importnew.com/13838.html

  • 相关阅读:
    源代码的下载和编译
    Git使用入门
    搭建Android开发环境
    安卓系统移植与驱动开发概述
    第十章
    第九章
    第八章
    第七章读书笔记
    第六章读书笔记
    第五章读书笔记
  • 原文地址:https://www.cnblogs.com/csniper/p/5486990.html
Copyright © 2020-2023  润新知