在Tomcat-Spring-Hibernate Web应用程序中,“PermGen out of space”异常可以做些什么?
我们有一个Web应用程序,它使用Spring-Hibernate将注册用户数据保存在Oracle数据库中。该应用程序在开发环境中运行良好,但是当我们用更多数据将其复制到实时环境中时,它失败了。最初,应用程序正常启动,但在几次操作后,发生了“PermGen out of space”异常。
我已经开始在Google,Spring和Hibernate论坛上搜索,但这无济于事。关于这个错误有很多讨论,但对于每个解决方案,都有人说:“它有效”,其他人说“它不起作用”。
例如,许多人提出增加JVM参数,其他人说它不起作用。有些帖子说,使用javassist库和其他库以及cglib库的问题需要使用。其他人说问题出在cglib上。-XX:MaxPermSize
我们使用Java1.5_0_09,Spring 2.5与 javaassist3.4.GA,Tomcat 5.5作为Web容器,Oracle 10g作为数据库。
任何人都可以解释一下导致这个问题的原因以及如何解决它?