利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题
2009-12-24 00:00:00 来源:WEB开发网核心提示: 对象/类级别(如图 6 所示)针对堆的原始参照图中的时机实例,在大多数情况下,利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题(6),所显示的信息应与聚合数据结构级别视图相同,聚合数据结构泄漏疑点有多个表表示泄漏根下参考树中发现的疑点,下方的
对象/类级别(如图 6 所示)针对堆的原始参照图中的时机实例。在大多数情况下,所显示的信息应与聚合数据结构级别视图相同。
聚合数据结构泄漏疑点
有多个表表示泄漏根下参考树中发现的疑点,每个表针对一个泄漏根。泄漏根列在表上方(如图 5 所示),是链接的形式,链接到泄漏根所有者链的图形表示,这也称为内容示意图。这个图形表示可帮助您了解表中所示的泄漏根、泄漏容器和泄漏单元之间的关系。此表显示了一对泄漏容器和泄漏单元,带有泄漏单元的实例数量及其总大小。
例如,图 5 显示,EvaluateServlet 类的一个实例是泄漏容器,ArrayList 类的一个实例是第一行的泄漏类型。通常,您会看到表的一行中的泄漏单元是同一个表中另一行内的泄漏容器。这也就是说,存在嵌套的容器类型。
例如,图 5 中的第 3 行列举了 HashMapi 实例包含的 Analyzer 类的一个实例,第四行显示同一个 HashMap 包含 1000 个 Analyzer$Chunk 类实例。
图 5. 聚合数据级泄漏疑点
查看原图(大图)
应自上而下地阅读此表来解释信息(如图 5 所示)。在某些情况下,如本例中的iqngkuang,可能存在多个不同的泄漏。下方的每个数字都对应于表中的相应行。
包含 ArrayList 的一个实例(大小为 78MB)的 EvaluateServlet 实例。
此 ArrayList 包含 Analyzer 的一个实例。
更多精彩
赞助商链接