1

当我尝试将库(在本例中为:iText-2.0.8.jar)添加到我的 Java Web 应用程序(JSF)并重新启动 Tomcat 时,一切似乎都很好。登录页面也会呈现。然而,当我登录时,应用程序几乎立即抛出了臭名昭著的java.lang.OutOfMemoryError: PermGen space错误。

增加 PermGen 大小-XX:MaxPermGen=128M并不能解决问题,即使是像 2048m 这样的大容量也不能解决问题。当我删除添加的罐子时,一切都很好。

有谁知道如何诊断这个问题?

4

2 回答 2

1

我最近在 Windows 2000 服务器 64 位上使用 java 6 在 Jetty 上运行 XWiki 时遇到了几乎完全相同的问题。

添加以下 2 个命令行开关为我解决了这个问题:

  • -XX:+CMSClassUnloadingEnabled
  • -XX:+CMSPermGenSweepingEnabled

对不起,以上没有帮助。
试试这个-XX:MaxPermSize=128M而不是-XX:MaxPermGen=128M

于 2011-07-14T15:08:24.360 回答
1

筛选完这个帖子后,我阅读了这篇博文

我刚刚切换到JRockit JVM,到目前为止我还没有遇到任何java.lang.OutOfMemoryError: PermGen space错误。

作为奖励,我的 Web 应用程序现在也运行得更快了。

于 2011-07-15T08:30:31.140 回答