内存泄漏分析实例

一、摘要
二、报错信息
三、分析过程
四、参考资料


******************************
一、 摘要
    最近生产上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.
  
[img]http://dl2.iteye.com/upload/attachment/0090/9074/62f3b205-0d15-3119-800e-c410b3f790ce.bmp
[/img]


四、 参考资料

一次成功的内存泄漏分析
http://linux.chinaitlab.com/administer/787936.html
WAS6x问题分析案例
http://yishueitian326.blog.163.com/blog/static/2858637520121392416734/

IBM免费分析工具
http://www.ibm.com/developerworks/cn/websphere/techjournal/0807_supauth/0807_supauth.html

性能调优攻略
http://coolshell.cn/articles/7490.html

使用 IBM 性能分析工具解决生产环境中的性能问题
http://www.ibm.com/developerworks/cn/java/j-lo-javacore/

应用服务器内存泄露问题诊断一例
http://www.ibm.com/developerworks/cn/java/j-performance/
    博客逐步完善,敬请期待....

猜你喜欢

转载自peter8015.iteye.com/blog/1971910
今日推荐