【问题标题】:PermGen space error while application is running应用程序运行时出现 PermGen 空间错误
【发布时间】:2013-07-07 22:15:05
【问题描述】:

我的 Web 应用程序在 tomcat apache-tomcat-6.0.35 上运行,它运行良好,没有任何问题。但是今天我在 catalina.out 日志中显示以下异常并且无法登录系统。

Jul 9, 2013 2:40:15 PM org.apache.coyote.http11.Http11Processor process
SEVERE: Error processing request
java.lang.OutOfMemoryError: PermGen space

我的印象是在部署或重新部署应用程序时可能会出现此异常。但是当应用程序运行没有任何问题时我得到了这个。这可能是什么原因。请指教

【问题讨论】:

  • 如果你在没有完全重启过tomcat的情况下进行了多次重新部署,你会得到这种错误。你做过这样的事吗?
  • 谷歌一下,你会发现比你需要的更多。

标签: java tomcat permgen


【解决方案1】:

Tomcat 启动时将这些选项添加到JVM 命令行或添加到IDE VM Options

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

-XX:MaxPermGen=128M

【讨论】:

    【解决方案2】:

    听起来您的某个 web 应用程序正在消耗大量内存。您是否尝试过提高 PermGen 的大小?在 $CATALINA_HOME/bin/catalina.sh 你可以添加

    -XX:PermSize=512m -XX:MaxPermSize=512m
    

    到您的 JAVA_OPTS 以便它分配足够的空间来运行。

    【讨论】:

      【解决方案3】:

      您的 permGen 空间已用完,请尝试在您的 tomcat 启动脚本上更改此参数

      /etc/init.d/tomcat6

      JAVA_OPTS="-Djava.awt.headless=true -XX:MaxPermSize=512M"
      

      根据需要设置内存量。

      【讨论】:

        【解决方案4】:

        这绝对是部署期间经常出现的错误。我已经看到它在 Grails 和 Java 应用程序中出现过多次。你可以通过调整JVM启动参数-XX:MaxPermSize来增加你的permgen空间,即:

        -XX:MaxPermSize=256m
        

        这个帖子详细介绍了这个问题:Thread

        【讨论】:

          【解决方案5】:

          几天前我遇到了这个错误。我通过重启真机修复了它 - 部署有问题。

          你也可以通过添加来修复它

          JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
          -server -Xms1536m -Xmx1536m
          -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
          -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
          

          possible fix

          【讨论】:

            【解决方案6】:

            Tomcat 中的每个 webapp 都有一个单独的类加载器,其中包含一组单独的加载类。当我们启动 Tomcat 时,它不会一次加载所有应用程序的所有类,而是延迟加载应用程序。当一个应用程序变得活跃时,它开始加载它的类,并且可能会发生 JVM 耗尽 permgen 空间。也就是说,即使不重新部署应用程序也可能发生这种情况。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-02-15
              • 2022-01-21
              • 1970-01-01
              • 1970-01-01
              • 2014-05-14
              • 2018-08-26
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多