内存泄漏分析实例
一、摘要
二、报错信息
三、分析过程
四、参考资料
******************************
一、摘要
最近生产上WAS遇到OOM问题宕机,产生了一大堆的dump文件。因为开始内存泄漏问题分析的紧张过程。
二、报错信息
三、分析过程
1、问题分析
A.程序代码某些线程造成死锁或程序中存在死循环。
B.程序代码编写不当造成某些资源无法被释放或被耗尽(如:网络链接,数据库链接,内存使用情况)
C.不适当的调优参数引起性能瓶颈从而引起hang机
a.Web 容器 (JVM),数据库
b.Web 容器等待一个外部资源的响应resource
c.资源的限制(如 cpu、Memory 典型的 Java heap、network)
2、工具选择 Ibm analyzer 对生成的文件进行分析。
JCA进行javacore文件进行分析
A、分析javacore文件发现
***WARNING*** Java heap is almost exhausted : 0% free Java heap Please enable verbosegc trace and use IBM Pattern Modeling and Analysis Tool(http://www.alphaworks.ibm.com/tech/pmat) to analyze garbage collection activities. If heapdumps are generated at the same time, please use IBM HeapAnalyzer(http://www.alphaworks.ibm.com/tech/heapanalyzer) to analyze Java heap.