我有一个在IBM Websphere 7.0.0.19中运行的独立应用程序。它运行在Java 6中,我们在我们的EAR中包装了一个Axis2 JAR。我们有'父最后'样式类加载,并且我们已经禁用了默认情况下与WAS7一起打包的Axis服务。使用Axis2和WAS时发生Java内存泄漏7
最近,连续运行6个星期后,应用程序经历了一次OOM。令人困惑的一点是,该应用程序分别部署在2台不同的机器上。但只有一台机器停机。第二台机器还在。
我们使用WAS控制台检查了操作系统,服务器配置类加载器策略,并且它们在两台计算机中都相似。
当应用程序崩溃时,它会生成一个.phd文件,我们使用Eclipse Memory Analyzer Tool(MAT)分析该文件。分析显示在屏幕截图中。
如果我是正确的引导类加载器是重复加载和持有至AxisConfiguraiton的参考文献,GC是无法收集它们在运行时。但是,如果是这样的话,那么这两台服务器肯定已经倒下了。但只有一台服务器遇到了OOM。分配给JVM的内存在两台机器上都相同。
我们不确定问题是出现在WAS 7中,还是与axis2-kernel-1.4.1.jar或其他问题有关。
http://www.slideshare.net/leefs/axis2-client-memory-leak
https://issues.apache.org/jira/browse/AXIS2-3870
http://java.dzone.com/articles/12-year-old-bug-jdk-still-out
(链接可能不是指当前的问题,但他们只是指针)
任何人都经历类似的东西?
您可以在7.0.0.25上试用它(排除其在websphere中的错误) –
@AviramSegal - WAS 7.0.0.19中是否存在可能导致此问题的已知错误?即使我改变了这一点,你不认为这将需要大量的时间来复制这个问题。 另外,如果它是Websphere的错误,为什么没有第二台服务器停机?只有一台服务器经历了OOM,另一台服务器仍然在运行。 –
没有具体的我知道,但你永远不会知道。另外,这个[question](http://stackoverflow.com/questions/9779287/ibm-websphere-8-memory-leaks-with-axis2-web-services)可能是相关的 –