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 に増やしました)。
問題のルート原因を見つけることができないので、提案してください。