0

私はJavaを使用してアプリケーションを開発しており、GlassFish Serve 3+をコンテナとして使用しています。アプリケーションを実行すると、次のエラーが発生することがあります。その理由は何でしょうか。

type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: PWC1243: Filter execution threw an exception
root cause

java.lang.OutOfMemoryError: PermGen space
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.2.2 logs.
4

3 に答える 3

0

java.lang.OutOfMemoryError

メモリ不足のため Java 仮想マシンがオブジェクトを割り当てることができず、ガベージ コレクタによって使用できるメモリがなくなった場合にスローされます。OutOfMemoryError オブジェクトは、抑制が無効になっているか、スタック トレースが書き込み可能でないかのように、仮想マシンによって構築される場合があります。

newキーワードを使用して作成するオブジェクトが多すぎるかどうかを確認してください。検索する場所は、特にループ、再帰メソッドです。

于 2013-02-19T05:28:29.037 に答える
0

JAVA_OPTS 環境変数 [Java JVM にメモリを割り当てるために使用される] で PermSize を設定します。既に設定されている場合は、MaxPermSize を増やします。

例えば:

JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx1024m -XX:MaxPermSize=1024m -XX:PermSize=128m"

JAVA_OPTS に関する詳細情報はこちら

http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.3/reference/JavaOptsSummary.html

于 2013-02-19T05:30:01.233 に答える
0

NetBeans のデフォルトの glassfish 構成では、未使用のクラスをクリーンアップするようにサーバーに指示していないことを私は知っています。次の解決策を試してください。

Glassfish PermGen のメモリ不足エラー

于 2014-04-28T04:16:04.087 に答える