【问题标题】:Tomcat 7 Spring App IntelliJ IDEA 10.5 OutOfMemoryError: PermGen spaceTomcat 7 Spring App IntelliJ IDEA 10.5 OutOfMemoryError:PermGen 空间
【发布时间】:2011-12-30 09:04:56
【问题描述】:

不确定谁应对此错误负责:

Exception in thread "main" java.lang.OutOfMemoryError: PermGen space

当我尝试从 IntelliJ IDEA 10.5(我的项目是 maven 格式项目)以调试模式运行我的 spring web 应用程序时,会发生此错误。

当从独立的 Tomcat 7 Web 服务器运行相同的应用程序时(将 war 放入 webapps 文件夹),它可以正常工作。同样来自 mvn clean install t7:run-forked application 也可以正常工作。

我的应用程序是 Spring JPA 应用程序,使用 Hibernate 作为 JPA 提供程序,c3p0 用于连接池(从 bonecp 切换到它,认为 bonecp 是导致此错误的原因,但它仍然可以用 c3p0 重现),Spring TomcatInstrumentationLoading 用于 Tomcat 上的 JPA 支持。

我的操作系统是 Debian、Linux。

【问题讨论】:

    标签: spring intellij-idea jpa-2.0 tomcat7


    【解决方案1】:

    这应该足以让它工作:

    VM 选项 字段在Tomcat Run/Debug configuration 中设置为

    -XX:MaxPermSize=256m

    【讨论】:

    • 酷!这为我解决了这个问题。非常感谢。运行单元测试时出现了我的问题,但我能够将相同的概念应用于我的单元测试运行配置。
    【解决方案2】:

    设置 VM 参数为您的程序分配更多空间

    喜欢

    -Xms128m -Xmx8192m -XX:PermSize=128m -XX:MaxPermSize=256m 
    

    【讨论】:

    • 你应该解释这些论点。前两个与 permgen 空间没有任何关系,而且 8 GB 比典型的开发机器所能支持的要多得多。
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 2011-07-22
    • 2022-08-03
    • 2016-02-09
    相关资源
    最近更新 更多