我正在使用Tomcat 6开发JSP应用程序。

由于我确实向项目添加了Quartz Scheduler Framework和Log4J库,因此Tomcat在重新部署时开始引发此异常。

我已经阅读了有关问题原因的信息,现在我知道必须与类加载器一起使用。

因此,我想这个问题可能是由自动加载某些类的记录器库引起的。

我该如何解决这个问题?
有另一种方法可以设置记录器,而无需使用log4j.properties文件来确保类加载器正常工作。

最佳答案

一种方法是通过在下面添加以下JVM参数来增加permgen空间

-XX:MaxPermSize=256m


但这只会延迟OOM错误。如果您一次又一次地进行重新部署,您将再次遇到内存中的permgen。本文中对原因进行了非常清楚的解释,在此不再赘述。 http://frankkieviet.blogspot.com/2006/10/classloader-leaks-dreaded-permgen-space.html。抱歉,没有其他方法可以不同地设置记录器,从而避免出现此问题。实际上,我总是增加MaxPermSize,然后在部署之前循环服务器。

关于java - Tomcat:OutOfMemoryError Permgen空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15487702/

10-10 21:29