メモリ不足:wildflyとgroovy / jasperのメタスペース

ハウケ・カーン

Wildfly 10アプリケーションサーバーでは、jasperreportsやその他の同様のシステムにgroovyを使用しています。しばらくすると、jvm(java 8)で「メモリ不足:メタスペース」エラーが発生します。同じ問題は、permgen(java 6)を備えた一部の古いjboss4サーバーでも発生します。jasperreportsを3.7.2から6.3.1にアップグレードしましたが、問題は引き続き発生します。permgen / metaspaceのサイズは十分に大きいです(最大512MB)。

jasperreportsとgroovyを使用しない他のアプリケーションには、この問題はありません。

いくつかの調査の後、これはおそらくクラスローダーのメモリリークであることがわかりました(stackoverflowの質問)。gcはgroovyから生成されたクラスをアンロードしないようです。

jaspersoftドキュメント彼らはuを設定する必要があること、書き込み-XX:+UseConcMarkSweepGCおよび-XX:+CMSClassUnloadingEnabledVMパラメータとしてクラスのアンロードを可能にします。

そこで変更しましたが、まだ問題は残っています。Java 8はこれらのパラメーターを引き続きサポートしますか?そうでない場合、他の解決策はありません。現在、この問題を回避するために、毎晩サーバーを再起動する必要があります。

ハウケ・カーン

Durandalが質問のコメントで述べたように、ヒープダンプには「sun / Reflect / DelegatingClassLoader」と「org / codehaus / groovy / runtime / callsite / CallSiteClassLoader」のエントリがたくさんあります。groovyにはメモリリークの問題があるようです。スクリプトエンジンを、jasperレポートの場合はgroovyからjavaに、他のシステムの場合はjavascriptに変更しました。これで問題は解決しました。助けてくれてありがとう。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

TOP 一覧

  1. 1

    sql-ORA-00937:単一グループのグループ関数ではありません

  2. 2

    Powershellを使用して管理者として実行ショートカットを作成する方法

  3. 3

    GolangがHTTPリクエストFormFileをAmazon S3にアップロードする

  4. 4

    AWS S3 SDK-スレッドプールサイズを設定するにはどうすればよいですか?

  5. 5

    Reactでclsxを使用する方法

  6. 6

    Ansibleで複数行のシェルスクリプトを実行する方法

  7. 7

    SwiftでURLが有効かどうかを確認するにはどうすればよいですか?

  8. 8

    DatabaseError:ORA-00928:SELECTキーワードがありません

  9. 9

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  10. 10

    Azure Logic Apps:PowershellスクリプトまたはAzure CLIを実行する方法は?

  11. 11

    Eclipseをアンインストールする方法?

  12. 12

    React:Rootクラスの条件付きレンダリングが機能しませんでした

  13. 13

    レンダリング後のdivの動的幅の取得

  14. 14

    Microsoft Edge WebブラウザでJavaを有効にするにはどうすればよいですか?

  15. 15

    TestInitメソッドでHttpContext.Currentをモックします

  16. 16

    SeleniumとPythonを使用してdiv内の値を見つける方法

  17. 17

    シェープファイルからTopojsonへの変換

  18. 18

    std :: binary_functionの置き換え

  19. 19

    Open Weather Map APIによって提供されるJSON天気予報を明確にする方法は?

  20. 20

    マルチレベルのグループ化でHTMLテーブルにデータを表示する

  21. 21

    「java.library.pathにocijdbc11がありません」SQLDeveloperエラーの対処方法

ホットタグ

アーカイブ