2014-11-21 37 views
0

我运行两个Web应用实例一个Tomcat,这两个应用程序的开发是独立的。当我启动tomcat服务器并开始访问应用程序时,它会抛出一个Perm Gen OOM异常或一个堆空间OOM异常。这两个应用程序使用相同的jar,这些jar被捆绑在webapps的相应lib文件夹中。烫发是由于反复加载类而引起的吗?我如何避免Perm Gen和堆空间异常?多个Web应用程序(使用相同的罐子)导致烫发根OOM

编辑:我想在这种情况下应遵循的最佳实践。请告知。

注:我运行一个2008服务器具有12 GB内存的tomcat的。服务器还托管其他tomcat服务器和DB的MSSQL服务器。

回答

0

你必须增加-XX:PermSize -XX:MaxPermSize参数大小,以避免的Tomcat的配置文件中的问题。理想情况下,它将是256,只需将其增加到512.

0

此类错误肯定可能是由类加载程序内存泄漏导致的内存泄漏(https://wiki.apache.org/tomcat/MemoryLeakProtection)造成的。

您可以尝试增加PermGen的空间(-XX:PermSize<size> -XX:MaxPermSize<size>),看看是否有帮助。如果它只是减少了OOM的频率,那么你很可能有内存泄漏。不幸的是,找到解决方案并不容易。我通过在应用程序重新部署时重新启动tomcat来避免这种情况,这种策略可能适用于您,也可能不适用于您。

相关问题