打印

WebSphere Application Server 中的内存泄漏检测与分析: 第 1 部分:内存泄漏概述

WebSphere Application Server 中的内存泄漏检测与分析: 第 1 部分:内存泄漏概述

内存泄漏检测

轻量级内存泄漏检测是通过监视自由内存中的下降趋势而实现的。

泄漏可能非常快速,也可能极其慢,所以短间隔和长间隔的内存使用趋势都会被分析。此外,对于在垃圾收集周期之后近似内存使用中的下降趋势也进行分析,以检测在垃圾收集周期之后平均自由内存数低于特定门限的情况。这样一种情景既可以是内存泄漏的一种标志,也可能表示正在一个资源过少的应用服务上运行一个应用程序。这一轻量级内存泄漏检测工具可用于从 6.0 版开始的所有 WebSphere Application Server 版本上,并可用于所有平台。

此外,作为 iSeries® 平台的特殊情况,WebSphere Application Server on iSeries 包含一些附加功能,用来检测 Java 堆大小是否要扩展到 DASD上,并将向管理员发出警报,通知管理员是将发生这一现象,还是出现了以下情况之一:

有效内存池大小过小
资源过少
内存泄漏。
zSeries® 在版本 6.0.2 中仅支持单一 Servant 拓扑,但在版本 6.1 中扩展为可以包含多个 Servant 拓扑。在 V6.0.2 中,单一 Servant 拓扑将内存泄漏检测的范围限制为问题确定或测试环境。

图 1 显示了由内存泄漏检测特性所产生的示例通知。这一通知通过 JMX 送出,并显示在管理控制台中,且被记录在服务器日志中。


图 1. 示例内存泄漏通知


自动堆转储生成工具(仅可用在 IBM JDK 上)在内存泄漏的证据非常明显之后、但在应用程序由于 OutOfMemoryError 而崩溃之前产生堆转储。此工具可在足够的内存泄漏之后生成一个第二堆转储。这两个堆转储有助于使用 MDD4J 进行比较分析。

自动堆转储生成可以缺省启用,也可以在适当时间通过 MBean 操作启动。

WebSphere Extended Deployment

尽管在 WebSphere Application Server 和 WebSphere Application Server Network Deployment 中提供了轻量级内存泄漏检测,并且其设计为即时可用,它还是完全可配置的,可以与高级自主管理器或自定义 JMX 客户端交互。WebSphere Extended Deployment 是这种关系的一个例子。

WebSphere Extended Deployment 提供了许多配置内存泄漏检测的策略。一种策略通过取得多个堆转储(使用工作负载管理来维护应用程序的性能)以进行分析,从而对内存泄漏通知做出反应。另一种策略简单地监视应用服务器的内存水平何时达到临界状态,以在应用服务器崩溃之前对其进行重启。

附件

image001.gif (0 Bytes)

2007-2-12 21:40, 下载次数: 0

TOP

有時閒請教!

TOP

如何能够定位引起内存泄漏得原因?

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-12-3 04:02 京ICP证060528 号

Designed By 17DST