WebSphere Application Server 中的内存泄漏检测与分析: 第 1 部分:内存泄漏概述
2010-01-15 00:00:00 来源:WEB开发网引言
内存泄漏的成本非常高昂,经常伴随着产品停机时间和零碎的部署安排。遗憾的是,合适测试解决方案的成本也十分高昂,客户经常不愿意或者不能对必要的资源进行投资。
为了更加清楚起见,解决内存泄漏的最佳方法是在测试时检测并解决它们。理想情况下,应当进行测试安排,并且有一种与产品环境完全相同的测试环境,这种环境能够驱动典型的和异常的工作负载,还应当有技术资源,他们具备专门进行系统测试的适当技能。这是尽可能确保完全转换到产品的最佳方式。但是,设计和提供这样一种环境,以及相关的文化变化,都不是本文的重点。
Java 中有四类常见的内存使用问题:
Java 堆内存泄漏
堆碎片
内存资源不足
本机内存泄漏。
WebSphere Application Server 已经引入了两种辅助技术,用以帮助客户解决 Java 堆内存泄漏(对这些工具进行一定的扩展还可以解决由于内存资源不足所导致的问题,在本文中没有比较这两种问题的相似性)。
一般来说,当应用程序(由于程序逻辑错误)无意中保存对于不再需要的对象的引用时,会导致 Java 堆内存泄漏。这种无意对象引用阻止内置 Java 垃圾回收机制释放由这些对象所使用的内存。这些内存泄漏的共同原因是:
向集合中插入而没有删除
未绑定的缓存
未调用的侦听器方法
无限循环
过多的会话对象
编写不佳的自定义数据结构。
由于内存资源不足而产生的内存使用问题可能是由于配置问题或系统容量问题所导致的。例如,在为 Java 虚拟机配置最大允许堆大小时所使用的 -Xmx 参数值过低,不能容纳内存中的用户会话总数。或者,系统的物理内存过少,不能容纳当前工作负载。本机内存泄漏是非 Java 代码中的内存泄漏;例如,在 Type-II JDBC 驱动程序或者 Java 进程的地址空间中的非堆段内的碎片。
Tags:WebSphere Application Server
编辑录入:爽爽 [复制链接] [打 印]- ››WebSphere Application Server 7.0 XML Feature P...
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
- ››WebSphere sMash 的创新应用,第 2 部分: 借助包装...
- ››Websphere MQ v6集群的负载均衡新功能
- ››WebSphere Process Server V6.0.2 集群,第 2 部分...
- ››WebSphere Process Server V6.0.2 集群,第 1 部分...
- ››WebSphere MQ性能调优浅谈
- ››WebSphere配置资源库管理
- ››WebSphere中的SSL/TLS:用法、配置和性能
- ››websphere ejb远程/本地调用总结
- ››WebSphere Application Server对SIP的支持
- ››WebSphere Process Server V6 体系结构概述
更多精彩
赞助商链接