正如您从以前的文章中可能已经读到的那样,要获得的Java程序员的一项关键技能就是理解和评估JVM的运行状况的能力,例如Java堆内存占用量以及垃圾回收过程。

为了实现上述目标,所有JVM供应商(Oracle,IBM等)都通过verbose:gc参数提供了一种生成和记录运行时JVM和GC活动的方法。 话虽如此,这并不意味着您将不得不永远分析原始GC数据。 过去几年中出现了监视和日志分析器工具,使我们可以更好地“可视化” JVM运行时处理的复杂性。

本文是该系列文章的第一篇,该系列文章向您提供有关如何入门和利用IBM Garbage Collection和Memory Visualizer的教程。 以后的文章将通过示例和问题模拟更详细地介绍GCMV的不同功能。

JVM基础

如果您不熟悉JVM原理和不同的命名约定,那么我建议您先阅读以下文章。 改善Java和JVM故障排除技能就像盖房子一样:在着重完成工作之前,首先要建立坚实的基础和结构。

  • ## Sun HotSpot VM
  • ## IBM VM
  • ## Oracle JRockit VM
  • ## Sun(Oracle)– Java内存管理白皮书
  • ## OpenJDK –开源Java实现

GC和Memory Visualizer –工具概述

GCMV本质上是由IBM开发的免费工具,它使您可以“可视化”并分析Java应用程序的JVM内存使用情况和垃圾回收活动。 它的报告和数据可视化功能对于了解应用程序的Java堆内存占用量随时间变化的趋势非常有用,并且可以帮助检测内存泄漏等问题。

由于该工具具有解析和解释许多类型的GC日志(Oracle HotSpot,IBM JVM,本机内存日志等)的能力,因此可以实现此类功能。 最后,GCMV还通过其内部统计引擎提供了开箱即用的建议。

GCMV最好与全面的容量计划策略结合使用,因此请从该角度继续进行尽职调查。

现在,本文的其余部分将重点介绍如何快速入门GCMV。

步骤1 –下载IBM Support Assistant

首先,您需要下载并安装IBM Support Assistant(GCMV已安装在IBM Support Assistant Workbench中)。

第2步–将GCMV添加为新的附件

安装ISA之后,您需要按照以下步骤下载GCMV作为ISA加载项:

  1. 在ISA主屏幕上,选择启动活动>分析问题
  2. 现在选择链接“查找新工具加载项”。
  3. 展开基于JVM的工具 ,选择并安装IBM Java监视和诊断工具– ISA的垃圾收集和Memory Visualizer
  4. 现在,您应该在“ ISA工具目录”部分下看到GCMV。

步骤3 –加载并可视化您的第一个JVM GC日志示例

现在,您可以使用GCMV加载和分析您的第一个GC日志了!

  1. 在“工具目录”下,双击GCMV。
  2. 现在浏览您的计算机,然后选择所需的GC日志 。 现在将开始分析和分析过程…
  3. 解析过程完成后,您将看到GC数据的图形视图以及许多其他选项。
  4. 不同Java堆内存空间的利用率可以在左侧找到。 GCMV建议可通过“ 报告”选项卡在图表下找到。

*注意:有关如何从JVM运行时环境获取verbose:gc日志的说明,请参见此处 。

我希望您喜欢这个简短的教程,了解如何开始使用IBM GCMV工具。 下一篇文章将更详细地介绍一些经典的JVM问题模式,例如内存泄漏。 同时,我建议您从应用程序中加载所有可能拥有的GC日志,并开始熟悉GCMV的不同功能。 请随时发表评论或提出任何问题。

翻译自: https://www.javacodegeeks.com/2013/06/gc-memory-visualizer-tutorial-part1.html

GC内存可视化器教程–第一部分相关推荐

  1. gc可视化分析_GC内存可视化器教程–第一部分

    gc可视化分析 正如您从过去的文章中可能已经读到的那样,要获得的Java程序员的一项关键技能就是理解和评估JVM的运行状况的能力,例如Java堆内存占用量以及垃圾回收过程. 为了实现上述目标,所有JV ...

  2. CoreCLR源码探索(五) GC内存收集器的内部实现 调试篇

    在上一篇中我分析了CoreCLR中GC的内部处理, 在这一篇我将使用LLDB实际跟踪CoreCLR中GC,关于如何使用LLDB调试CoreCLR的介绍可以看: 微软官方的文档,地址 我在第3篇中的介绍 ...

  3. CoreCLR源码探索(四) GC内存收集器的内部实现 分析篇

    在这篇中我将讲述GC Collector内部的实现, 这是CoreCLR中除了JIT以外最复杂部分,下面一些概念目前尚未有公开的文档和书籍讲到. 为了分析这部分我花了一个多月的时间,期间也多次向Cor ...

  4. java8默认内存收集器_使用正确的垃圾收集器将Java内存使用量降至最低

    java8默认内存收集器 大小对于软件至关重要. 很明显,与大的整体方法相比,在微服务体系结构中使用小片段具有更多优势. 最新的Java版本的Jigsaw有助于分解旧应用程序或从头开始构建新的云原生应 ...

  5. C/C++内存管理器

    C标准库提供了malloc,free,calloc,realloc,C++标准库还提供了new, new[], delete, delete[].这些用来管理内存,看起来够用了,为啥还要自己写一个内存 ...

  6. GC日志可视化分析工具GCeasy和GCViewer

    上节介绍了GC日志的打印及含义,但是GC日志看起来比较麻烦,本节将会介绍一下GC日志可视化分析工具GCeasy和GCviewer.通过GC日志可视化分析工具,我们可以很方便的看到JVM各个分代的内存使 ...

  7. Delphi 内存机制 调试教程

    Delphi 内存机制 调试教程 2011年10月21日 一.引言 FastMM 是适用于delphi的第三方内存管理器,在国外已经是大名鼎鼎,在国内也有许多人在使用或者希望使用,就连 Borland ...

  8. 木塔老师火山PC大漠多线程中控+内存逆向系列教程

    火山PC大漠中控多线程+内存系列教程火山PC是面向对象的一门语言,支持64位,现在功能已经十分强大,功能和效率上和C++开发是一样的.本套课程针对用大漠插件对游戏实现自动化,解放双手,批量操控游戏为目 ...

  9. Processing入门教程第一课-Processing的“前世今生”

    很早以前大概13.14年就通过清华大学付志勇教授了解到了Processing这个工具,起初只是初步了解并没有下定决心学习(当初资料太少了).由于当时只是初步的看了看,所以很多内容和知识点都是一知半解的 ...

最新文章

  1. 命名实体识别训练集汇总(一直更新)
  2. 在计算机技术中描述信息最小单位是,计算机二级考试单选题
  3. xml转json和实体类的两种方式
  4. 【云原生AI】Fluid + JindoFS 助力微博海量小文件模型训练速度提升 18 倍
  5. [云炬创业管理笔记]第二章测试4
  6. NHibernate之旅(14):探索NHibernate中使用视图
  7. Boost:boost::callable_traits::function_type_t的测试程序
  8. 根据条件动态修改element 组件深层次样式
  9. 【第三期】那些设计漂亮、有创意的电路板!
  10. v4l2 框架下如何设置分辨率_Linux下如何进行FTP设置
  11. php formdata 多个图片保存_图片上传姿势以及你不知道的Typed Arrays
  12. 【重识 HTML + CSS】官方文档的阅读
  13. 解决服务器被黑上不了网的问题
  14. Zabbix自定义监控、自动报警
  15. 基于极限学习机的自编码器(ELM-AE)
  16. matlab画图(plot)命令。长期更新!
  17. 计算机课如何断开学生端,极域课堂管理系统怎么连接老师 学生端连接问题解决方法...
  18. word中设置多级标题
  19. uefi引导固态硬盘ssd装win10(不用U盘)
  20. 秒赚大钱_容易记住,赚大钱

热门文章

  1. 云服务器mqtt协议,云服务器mqtt协议
  2. 中南大学计算机网.doc,中南大学计算机网络实验报告.doc
  3. 神经网络中的最小二乘_深度神经网络:噪声中解读出科学
  4. 常用的数据交换格式有哪些_高程数据格式介绍
  5. vmware安装centos6-步骤小结
  6. 实现简单的注解型MVC框架 —— 低配SpringMVC
  7. 雅加达poi_雅加达EE:干净的板岩
  8. 普罗米修斯使用es数据库_用普罗米修斯和格拉法纳仪法来豪猪
  9. javafx动画_JavaFX动画工具
  10. jax-rs jax-ws_极端懒惰:使用Spring Boot开发JAX-RS服务