GC内存可视化器教程–第一部分
正如您从以前的文章中可能已经读到的那样,要获得的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加载项:
- 在ISA主屏幕上,选择启动活动>分析问题 。
- 现在选择链接“查找新工具加载项”。
- 展开基于JVM的工具 ,选择并安装IBM Java监视和诊断工具– ISA的垃圾收集和Memory Visualizer 。
- 现在,您应该在“ ISA工具目录”部分下看到GCMV。
步骤3 –加载并可视化您的第一个JVM GC日志示例
现在,您可以使用GCMV加载和分析您的第一个GC日志了!
- 在“工具目录”下,双击GCMV。
- 现在浏览您的计算机,然后选择所需的GC日志 。 现在将开始分析和分析过程…
- 解析过程完成后,您将看到GC数据的图形视图以及许多其他选项。
- 不同Java堆内存空间的利用率可以在左侧找到。 GCMV建议可通过“ 报告”选项卡在图表下找到。
*注意:有关如何从JVM运行时环境获取verbose:gc日志的说明,请参见此处 。
我希望您喜欢这个简短的教程,了解如何开始使用IBM GCMV工具。 下一篇文章将更详细地介绍一些经典的JVM问题模式,例如内存泄漏。 同时,我建议您从应用程序中加载所有可能拥有的GC日志,并开始熟悉GCMV的不同功能。 请随时发表评论或提出任何问题。
翻译自: https://www.javacodegeeks.com/2013/06/gc-memory-visualizer-tutorial-part1.html
GC内存可视化器教程–第一部分相关推荐
- gc可视化分析_GC内存可视化器教程–第一部分
gc可视化分析 正如您从过去的文章中可能已经读到的那样,要获得的Java程序员的一项关键技能就是理解和评估JVM的运行状况的能力,例如Java堆内存占用量以及垃圾回收过程. 为了实现上述目标,所有JV ...
- CoreCLR源码探索(五) GC内存收集器的内部实现 调试篇
在上一篇中我分析了CoreCLR中GC的内部处理, 在这一篇我将使用LLDB实际跟踪CoreCLR中GC,关于如何使用LLDB调试CoreCLR的介绍可以看: 微软官方的文档,地址 我在第3篇中的介绍 ...
- CoreCLR源码探索(四) GC内存收集器的内部实现 分析篇
在这篇中我将讲述GC Collector内部的实现, 这是CoreCLR中除了JIT以外最复杂部分,下面一些概念目前尚未有公开的文档和书籍讲到. 为了分析这部分我花了一个多月的时间,期间也多次向Cor ...
- java8默认内存收集器_使用正确的垃圾收集器将Java内存使用量降至最低
java8默认内存收集器 大小对于软件至关重要. 很明显,与大的整体方法相比,在微服务体系结构中使用小片段具有更多优势. 最新的Java版本的Jigsaw有助于分解旧应用程序或从头开始构建新的云原生应 ...
- C/C++内存管理器
C标准库提供了malloc,free,calloc,realloc,C++标准库还提供了new, new[], delete, delete[].这些用来管理内存,看起来够用了,为啥还要自己写一个内存 ...
- GC日志可视化分析工具GCeasy和GCViewer
上节介绍了GC日志的打印及含义,但是GC日志看起来比较麻烦,本节将会介绍一下GC日志可视化分析工具GCeasy和GCviewer.通过GC日志可视化分析工具,我们可以很方便的看到JVM各个分代的内存使 ...
- Delphi 内存机制 调试教程
Delphi 内存机制 调试教程 2011年10月21日 一.引言 FastMM 是适用于delphi的第三方内存管理器,在国外已经是大名鼎鼎,在国内也有许多人在使用或者希望使用,就连 Borland ...
- 木塔老师火山PC大漠多线程中控+内存逆向系列教程
火山PC大漠中控多线程+内存系列教程火山PC是面向对象的一门语言,支持64位,现在功能已经十分强大,功能和效率上和C++开发是一样的.本套课程针对用大漠插件对游戏实现自动化,解放双手,批量操控游戏为目 ...
- Processing入门教程第一课-Processing的“前世今生”
很早以前大概13.14年就通过清华大学付志勇教授了解到了Processing这个工具,起初只是初步了解并没有下定决心学习(当初资料太少了).由于当时只是初步的看了看,所以很多内容和知识点都是一知半解的 ...
最新文章
- 命名实体识别训练集汇总(一直更新)
- 在计算机技术中描述信息最小单位是,计算机二级考试单选题
- xml转json和实体类的两种方式
- 【云原生AI】Fluid + JindoFS 助力微博海量小文件模型训练速度提升 18 倍
- [云炬创业管理笔记]第二章测试4
- NHibernate之旅(14):探索NHibernate中使用视图
- Boost:boost::callable_traits::function_type_t的测试程序
- 根据条件动态修改element 组件深层次样式
- 【第三期】那些设计漂亮、有创意的电路板!
- v4l2 框架下如何设置分辨率_Linux下如何进行FTP设置
- php formdata 多个图片保存_图片上传姿势以及你不知道的Typed Arrays
- 【重识 HTML + CSS】官方文档的阅读
- 解决服务器被黑上不了网的问题
- Zabbix自定义监控、自动报警
- 基于极限学习机的自编码器(ELM-AE)
- matlab画图(plot)命令。长期更新!
- 计算机课如何断开学生端,极域课堂管理系统怎么连接老师 学生端连接问题解决方法...
- word中设置多级标题
- uefi引导固态硬盘ssd装win10(不用U盘)
- 秒赚大钱_容易记住,赚大钱
热门文章
- 云服务器mqtt协议,云服务器mqtt协议
- 中南大学计算机网.doc,中南大学计算机网络实验报告.doc
- 神经网络中的最小二乘_深度神经网络:噪声中解读出科学
- 常用的数据交换格式有哪些_高程数据格式介绍
- vmware安装centos6-步骤小结
- 实现简单的注解型MVC框架 —— 低配SpringMVC
- 雅加达poi_雅加达EE:干净的板岩
- 普罗米修斯使用es数据库_用普罗米修斯和格拉法纳仪法来豪猪
- javafx动画_JavaFX动画工具
- jax-rs jax-ws_极端懒惰:使用Spring Boot开发JAX-RS服务