我有一个 Play 应用程序,我想在码头服务器上运行它。我使用 Play 的 buit in war generation 从应用程序中生成了一场战争;玩战争 (app) -o (output.war)
当我将生成的战争导入到 Jetty 的 webapps 并运行应用程序时; java.lang.OutOfMemoryError: PermGen 空间
我四处搜索以找到解决方案,但是增加 perm gen 大小和 jvm 参数以用于类卸载的可用解决方案都不起作用。
我厌倦了使用 Plumbr 分析 prem zen 大小,但它不会生成报告。
最后我使用了java的内置堆分析器;jmap -permstat
29928 个实习生字符串,占用 3174488 个字节。class_loader 类字节 parent_loader 还活着吗?类型
2764 15979584 空直播
总计 = 1 2764 15979584 不适用 活着=1,死亡=0 不适用
这是 jvm 开始抛出 prem gen 错误后的统计信息。类加载器大小和静态字符串非常小,小于 64 mb(我已将 prem zen 大小增加到 1gb,即使出现同样的错误)
请提出建议,因为我无法找到问题的原因。