利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题
2009-12-24 00:00:00 来源:WEB开发网核心提示:简介这一部分是 Java 内存转储诊断 (MDD4J) 故障排除工具的简介,这种工具可帮助您分析 Java 堆,利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题,从而诊断内存占用问题,MDD4J 的分析结果在报告中提供,即手动检查堆内的整个对象图,如需获得深入的堆转
简介
这一部分是 Java 内存转储诊断 (MDD4J) 故障排除工具的简介,这种工具可帮助您分析 Java 堆,从而诊断内存占用问题。MDD4J 的分析结果在报告中提供,此报告汇总了应用程序使用 Java 堆的情况。
共有三种适合使用 MDD4J 提供帮助的场景:
内存泄漏:如果应用程序出现 java.lang.OutOfMemoryError 异常,或者详细的垃圾收集数据显示内存消耗逐渐增加,那么 MDD4J 可以指出造成此类增加的数据结构以及这些数据结构内的组件。
过度的内存消耗:如果一个应用程序未能很好地伸缩,或者所占用的内存比实现其所需任务占用的必要内存多,MDD4J 可为您显示占用过多内存的数据结构的高级说明。MDD4J 报告可为您显示集合的实现和其他类型的数据建模是怎样造成过度内存消耗的。
回归测试:MDD4J 提供的各种分析和数据结构视图可在修订 bug、添加或删除新特性时,帮助您跟踪内存消耗的更改。
MDD4J 可通过 IBM Support Assistant 获得。由于内存堆分析要占用大量处理器和 I/O 资源,您还可以在 IBM Support Assistant 工作台之外运行它。在服务器类机器上执行内存堆分析——特别是 64 位机器,允许您处理无限大小的内存堆,并为您的工作站保留大量资源,使您能够执行其他任务。
MDD4J 设计目标是提供足够的信息,帮助您识别问题,而不产生信息过载的问题。它并未提供深入、低级的专家功能,即手动检查堆内的整个对象图。如需获得深入的堆转储分析,可以使用 IBM Monitoring and Diagnostic Tools for Java – Memory Analyzer。
赞助商链接