【问题标题】:Perm gen growing up烫发一代长大
【发布时间】:2015-03-03 11:53:05
【问题描述】:

我最近发现了以下事实:

当我第一次浏览我的应用程序页面时,perm gem 正在显着增长。 (这很正常)

当我浏览我已经浏览过的应用程序页面时,我的 perm gen 正在成长。 但这只有在我停止使用我的应用程序几分钟后才会发生。如果我不这样做,那么尽管我一直在导航,但 perm gen 仍然保持不变。 增加不多,但我认为这不是正常行为。

我还注意到 perm gen 永远不会下降或下降一点点。

这可能是什么原因?

我正在使用 Java6、Tomcat6、Hibernate、Spring 3.3.4 和 JSF 1.2。

【问题讨论】:

    标签: java memory-management jvm jsf-1.2 java-6


    【解决方案1】:

    PermGen 错误和泄漏很难调查。

    要对付它们,它们,你能做的第一件事就是检查你的静态。您的应用程序可以管理一些静态对象,这些静态对象持有对本应被垃圾回收但仍标记为可访问的对象的引用,因为这些对象引用了这些静态对象。

    例如,您使用的是 Spring,而在 Spring 中,bean 默认为 Singleton,因此它可能是 PermGen 问题的根源。

    要了解有关内存中对象的更多信息,您可以使用一些分析工具,例如VisualVM。它可以帮助您调查有多少给定类的实例持有 Tomcat,并且可以为您提供有关泄漏位置的线索。

    要了解有关 PermGen 和 PermGen 错误和问题的更多信息,您可以查看The java.lang.OutOfMemoryError: PermGen Space error demystified

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 2010-11-19
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 2016-11-02
      相关资源
      最近更新 更多