首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
PowerPC
» 利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题(2)
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2018-8-13 21:50
|
只看该作者
利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题(2)
启动和理解 MDD4J为了充分理解如何使用 MDD4J,您需要了解用于描述内存泄漏的几个术语的含义。图 1 通过名为
MyClass
的示例展示了这些术语,此示例具有一个 HashSet,包含字符串对象。
图 1. 内存泄漏术语
泄漏根:
包含导致泄漏容器的对象链的引用的对象。如果在所有者链中未发现任何类对象,则此术语表示可找到泄漏容器的内存转储中的根对象。
泄漏容器:
唯一拥有所有泄漏对象的对象。在本例中是 HashMap。
泄漏单元:
存在多个实例的数据结构内的对象。在本例中是 HashMap 内的 HashMap$Entry 对象。
所有者链:
从泄漏根对象开始到泄漏容器对象的对象链。
内容:
泄漏根下为堆消耗的大部分负责的实际数据。
另外还有一些未在图 1 中出现的信息,但与内存泄漏相关:
区域大小:
给定对象可接触的所有对象的总大小。在本例中,就是影响泄露根的区域大小的所有对象。
区域大小落差:
一个对象的区域大小和该对象的子对象的区域大小之间的差别。此差别与实例计数的差别是发现泄漏疑点的关键。
MDD4J 的启动与 IBM Support Assistant workbench 中安装的其他工具相同。图 2 显示了 workbench 中的 MDD4J 在启动并完成分析后的状态。在分析完成后,您看到的第一个视图就是 Analysis Summary。(如果希望将 MDD4J 从 workbench 导出到其他机器上,将有一个批处理文件或 shell 脚本可用于运行此工具)。
在下面的几节中,您将了解分析结果在 MDD4J 中的显示方式。所显示的信息针对主转储。
评估分析结果Analysis Summary 是您在分析完成后看到的第一个视图。它显示了分析结果的信息汇总,并提供了堆内容和堆中主要组成部分的快速概览。在这个窗格中,可以确定在堆大小中占最大比例的组件和类型。
图 2. IBM Support Assistant workbench 中的 MDD4J
Analysis Summary 具有三个部分:
Basic Heap Information
(如图 3 所示)显示关于堆和堆转储文件的信息:堆大小、对象数量、对象类型数量、堆转储文件名称和堆转储文件的获取日期。 图 3. Basic Heap Information
High-level Summary of the Heap Contents
(如图 4 所示)显示了两个图表,显示在堆大小中占比例最大的堆转储中的组件和类型。
Predefined Components
图显示了与 Java 和 WebSphere 应用程序中的常用组件相比,各组对象在堆大小中所占的相对比例。
Type Breakdown
图显示了最常用的 Java 类在堆大小中所占的相对比例。
图 4. High-level Summary of the Heap Contents
在 Analysis Summary 视图中,还可访问单一文件的 HTML 报告(如图 2 所示),其中提供了分析结果的汇总。报告包含 MDD4J 中各种视图提供的所有信息,但未显示图形。可利用此报告与您的同事快速共享分析结果。
还可以下载一部分 MDD4J 用户界面(
Data Structures
选项卡,本文稍后将加以介绍),将其作为
Yeti Report
独立报告(如图 2 所示),并保存所得到的 .zip 压缩文件。将压缩文件的内容解压到空目录中,在 Web 浏览器中打开 index.html 文件。关于 Yeti,请参见 。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议