内存泄漏SocksSocketImpl最终确定方法 [英] Memory leak with SocksSocketImpl finalize method

查看:2854
本文介绍了内存泄漏SocksSocketImpl最终确定方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们一直有内存溢出的在我们的Web应用程序之一。该应用程序在Aamzon EC2上运行Tomcat的背后弹性负载均衡。从堆转储,大部分内存被消耗SocksSocketImpl对象。 Yourkit显示99%的这些对象都在等待最后审定的状态。然而,不知何故,他们没有被最后确定GC'ed。相同的应用程序与其它区域和不具有的问题相同的设置(同一Tomcat版本和JDK的版本)。

We have been having OutOfMemory in one of our Web Applications. This application is running on Tomcat on Aamzon EC2 behind an Elastic Load Balancer. From heap dump, most the memory was consumed by SocksSocketImpl objects. Yourkit shows 99% of these objects are in Pending Finalization state. However, somehow they are NOT being finalized and GC'ed. The same application with same setup (same tomcat version and JDK version) on other regions and doesn't have issues.

有没有人见过这种行为之前?任何指针会有所帮助。谢谢你的时间。

Has anyone seen this kind of behavior before? Any pointers will be helpful. Thanks for your time.

推荐答案

我已经运行的Tomcat 6.0.39,内存问题开始完全相同的问题时,JDK的Ubuntu服务器上的安全补丁升级为:

I had the exact same problem running Tomcat 6.0.39, memory issue started when JDK on Ubuntu server was upgraded with security patches to:

java version "1.6.0_30"
OpenJDK Runtime Environment (IcedTea6 1.13.1) (6b30-1.13.1-1ubuntu2~0.12.04.1)
OpenJDK Server VM (build 23.25-b01, mixed mode)

型材与Eclipse的内存分析,追踪到终结的对象队列SSL连接和Hibernate会耗尽所有的内存。问题解决了升级到:

Profiled with Eclipse Memory Analyzer, traced to finalizer queue of objects for SSL Connections and Hibernate sessions consuming all memory. Problem resolved by upgrading to:

java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.12.04.2)
OpenJDK Server VM (build 24.45-b08, mixed mode)

这篇关于内存泄漏SocksSocketImpl最终确定方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆