在jetty Perm gen问题上玩框架生成战争

时间:2013-05-12 16:59:22

标签: java playframework jetty

我有一个Play应用程序,我想在jetty服务器上运行它。 我在战争中使用Play的buit在应用程序中产生了一场战争; 玩战(app)-o(output.war)

当我将生成的战争导入Jetty的webapps并运行应用程序时; java.lang.OutOfMemoryError:PermGen space

我搜索了一个解决方案但是可用的解决方案来增加perm gen size和jvm参数以便类卸载都不起作用。

我厌倦了使用Plumbr分析前禅大小,但它不会生成报告。

最后我使用了java的内置堆分析器; jmap -permstat

29928实习生字符串占用3174488字节。 class_loader类字节parent_loader还活着吗?型

2764 15979584 null live

总计= 1 2764 15979584 N / A alive = 1,dead = 0 N / A

这是jvm开始抛出前一代错误后的统计数据。类加载器大小和静态字符串相当少,小于64 mb(我已经将前zen大小增加到1gb甚至相同的错误)

请建议,因为我无法找到问题的路由原因。

1 个答案:

答案 0 :(得分:0)

  1. 使用“-XX:-HeapDumpOnOutOfMemoryError”jvm选项启动应用程序
  2. 当您再次获得OOM时,JVM将生成堆转储文件。
  3. 使用Eclipse Memory Analyzer
  4. 打开它
  5. 让它为您生成报告