WEB开发网
开发学院软件开发Java WebSphere Application Server 中的内存泄漏检测与... 阅读

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

 2010-01-15 00:00:00 来源:WEB开发网   
核心提示: 这是一篇为 Java 开发人员、系统管理员以及问题确定顾问撰写的介绍性文章,这些人员使用部署在 IBM WebSphere Application Server 上的应用程序,WebSphere Application Server 中的内存泄漏检测与分析: 第 1 部分:内存泄漏概述(2),

这是一篇为 Java 开发人员、系统管理员以及问题确定顾问撰写的介绍性文章,这些人员使用部署在 IBM WebSphere Application Server 上的应用程序。

用于检测内存泄漏根源的现有技术中所存在的问题

有大量导致内存泄漏的问题,它们对于系统管理员特别棘手:

传统的 Java 内存泄漏根源检测技术有十分显著的性能负担,可能不适于在生产环境中使用。这些技术通常包括堆转储分析、附加 Java 虚拟机分析器接口(Java Virtual Machine Tools Interface,JVMPI)或Java 虚拟机工具接口(Java Virtual Machine Tools Interface,JVMTI)代理,或者使用字节代码插入来跟踪向集合中的插入和删除。

传统的冗余方法,例如群集技术,只能在一定程度上有所帮助。内存泄漏将在群集成员中传播。受影响的应用服务器的响应速度减缓了负载管理技术。这可能导致将请求路由到运行状况更好的服务器,从而导致协调应用服务器崩溃。

一种典型的分析解决方案应当尝试将应用程序移到一个隔离的测试环境中,在这个环境中应当可以重现问题并进行分析,而不会影响生产服务器。由于在这些测试环境中重现问题的难度很大,所以相关内存泄漏的成本增加了。

导致这些问题的原因在于传统技术尝试同时执行检测和分析。

WebSphere 解决方案

WebSphere Application Server V6.0.2 及更高版本提供了一种两阶段解决方案,将 检测 问题与分析 问题分离开来。

第一阶段是轻量级内存泄漏检测机制,运行于生产 WebSphere Application Server 运行时中。这一轻量级检测技术使用成本较低,普遍可用的 Java 堆使用统计数字来监视内存使用趋势,并提供内存泄漏的早期通知。这使管理员有时间准备适当的备份解决方案,并采用离线方式分析问题的根源,而不会存在那些在测试环境中进行重现所导致的问题,这些问题的成本很高,而且也很难解决。

上一页  1 2 3 4 5 6 7  下一页

Tags:WebSphere Application Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接