Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用socksocketimpl finalize方法的内存泄漏_Java_Tomcat_Memory Leaks_Amazon Ec2 - Fatal编程技术网

Java 使用socksocketimpl finalize方法的内存泄漏

Java 使用socksocketimpl finalize方法的内存泄漏,java,tomcat,memory-leaks,amazon-ec2,Java,Tomcat,Memory Leaks,Amazon Ec2,我们的一个Web应用程序中出现了OutOfMemory。此应用程序在弹性负载平衡器后面的AAMZONEC2上的Tomcat上运行。从堆转储中,大部分内存被socksocketimpl对象占用。Yourkit显示99%的对象处于挂起的终结状态。但是,不知何故,它们并没有被最终确定和GC'ed。在其他地区,相同的应用程序具有相同的设置(相同的tomcat版本和JDK版本),并且没有问题 以前有人见过这种行为吗?任何提示都会有帮助。谢谢你抽出时间 升级到JVM 1.7.0_51后,问题得到解决。正如所

我们的一个Web应用程序中出现了OutOfMemory。此应用程序在弹性负载平衡器后面的AAMZONEC2上的Tomcat上运行。从堆转储中,大部分内存被socksocketimpl对象占用。Yourkit显示99%的对象处于挂起的终结状态。但是,不知何故,它们并没有被最终确定和GC'ed。在其他地区,相同的应用程序具有相同的设置(相同的tomcat版本和JDK版本),并且没有问题


以前有人见过这种行为吗?任何提示都会有帮助。谢谢你抽出时间

升级到JVM 1.7.0_51后,问题得到解决。正如所怀疑的,这似乎是套接字清理或GC期间的JVM级别问题。有问题的版本是1.6.0_30 OpenJDK。

我在运行Tomcat 6.0.39时遇到了完全相同的问题,当Ubuntu服务器上的JDK使用安全补丁升级到:

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会话的对象终结器队列。问题已通过升级到解决:

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)

其原因是回归到openjdk包:


它已被修复,但正在等待部署新的openjdk6包。

您是否检查/监控了您的流量模式?可能是内存泄漏的应用程序收到了更多流量。Rico,谢谢你的回复。流量不是问题。堆上的套接字对象数量超过全天流量的50%。我们还按小时分类。交通拥挤绝对不是原因。奇怪。你是否一直看到这一点?您是否在发现问题的地区尝试过几次?是的。这在同一台机器上至少发生了3次。我的意思是不同的机器,而不仅仅是同一地区的同一台机器。即使AWS beanstalk上有1.7.0_51,我也会有这个问题