Board logo

标题: 利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题(1) [打印本页]

作者: look_w    时间: 2018-8-13 21:49     标题: 利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题(1)

简介这一部分是 Java 内存转储诊断 (MDD4J) 故障排除工具的简介,这种工具可帮助您分析 Java 堆,从而诊断内存占用问题。MDD4J 的分析结果在报告中提供,此报告汇总了应用程序使用 Java 堆的情况。
共有三种适合使用 MDD4J 提供帮助的场景:
MDD4J 可通过  获得。由于内存堆分析要占用大量处理器和 I/O 资源,您还可以在 IBM Support Assistant 工作台之外运行它。在服务器类机器上执行内存堆分析——特别是 64 位机器,允许您处理无限大小的内存堆,并为您的工作站保留大量资源,使您能够执行其他任务。
MDD4J 设计目标是提供足够的信息,帮助您识别问题,而不产生信息过载的问题。它并未提供深入、低级的专家功能,即手动检查堆内的整个对象图。如需获得深入的堆转储分析,可以使用 IBM Monitoring and Diagnostic Tools for Java – Memory Analyzer。
什么是堆转储?堆转储也称为堆快照,就是内存中对象之间的参照转储,以及关于这些对象的信息。堆转储不包含变量名、值或源代码等信息。
在执行堆分析之前,需要一个堆转储。有三种方法可生成堆转储:
如何分析堆转储MDD4J 为堆转储文件使用不同的术语,以其获得的时间为依据:
在分析过程中,MDD4J 尝试找到可能性最高的泄漏疑点。之所以称为疑点,是因为没有方法能够准确识别过高的堆占用的原因。分析识别出泄漏疑点,并不表示确实存在泄漏。对于缓存实现来说,这一点尤为明显,因为那与典型的内存泄漏极为相似。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0