web-dev-qa-db-ja.com

java.lang.OutOfMemoryError:PermGen space

次のエラー「http-9000-5」Java.lang.OutOfMemoryError:PermGen spaceが発生する

org.Apache.catalina.core.ApplicationDispatcherがSEVEREを呼び出す:サーブレットjspのServlet.service()が例外Java.lang.OutOfMemoryError:PermGen spaceをスローしました。

Axis2を使用するアプリケーション。ヒープサイズを1024mbに増やしましたが、機能しません。何が問題でしょう。

12
jayavardhan

TomcatをEclipseのサーバーとして使用している場合は、サーバービューに移動し、Tomcatをダブルクリックして、[起動構成を開く]をクリックし、[引数]タブに移動して、-Dcatalina.base = ""を設定した後、

-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m
6
Alessio

PermGenとヒープサイズは互いに異なります。

次のようにpermgenスペースを増やす必要があります。

-XX:PermSize=256m 
-XX:MaxPermSize=256m

このフラグを追加します。

これも見てください: explaining-Java-lang-outofmemoryerror-permgen-space そしてこれ: how-to-deal-with-Java-lang-outofmemoryerror-permgen-space-error

お役に立てれば。

16
Harry Joy

あなたはあなたのTomcat引数に何かを設定する必要があります

Java_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

注:XX:MaxPermSize = 256m

15
Jigar Joshi

PermGenのサイズを大きくすることに加えて、permgenガベージコレクションを有効にしてみてください。

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
2
werkshy

JVMのRAM割り当てを増やしてみてください。それは役立つはずです。

Eclipseの修正:Eclipse設定で次のように構成できます。

Windows->設定(Macの場合:Eclipse->設定)Java->インストールされているJRE JREを選択し、デフォルトの編集をクリックしますVM引数フィールド--Xms256m -Xmx512m -XX:MaxPermSize = 512m -XX:PermSize = 128mと入力します(または、1 GBのRAMの1024の場合は、メモリ設定)。[完了]または[OK]をクリックします。

0
Manjush