0

Play アプリケーションがあり、それを jetty サーバーで実行したいと考えています。Play のビルドイン戦争生成を使用して、アプリから戦争を生成しました。戦争をする (app) -o (output.war)

生成された戦争を Jetty の webapps にインポートしてアプリケーションを実行すると、 java.lang.OutOfMemoryError: PermGen スペース

解決策を見つけるためにグーグルで検索しましたが、perm genのサイズとjvm引数を増やしてクラスをすべてアンロードするための利用可能な解決策は機能しません。

Plumbr を使用して prem zen サイズのサイズを分析するのに疲れましたが、レポートが生成されません。

最後に、Java のビルトイン ヒープ アナライザーを使用しました。jmap -permstat

29928 intern 3174488 バイトを占める文字列。class_loader クラス バイト parent_loader は生きていますか? タイプ

2764 15979584 ヌル ライブ

合計 = 1 2764 15979584 該当なし 生存=1、死亡=0 該当なし

これは、jvm が prem gen エラーのスローを開始した後の統計です。クラスローダーのサイズと静的文字列はかなり小さく、64 MB 未満です (同じエラーでも prem zen サイズを 1 GB に増やしました)。

問題のルート原因を見つけることができないので、提案してください。

4

1 に答える 1