79

重複の可能性:
「java.lang.OutOfMemoryError: PermGen space」エラーの処理

私の開発マシンには 8GB の RAM があり、Artifactory (2.6.3) とJenkins (1.479) の両方を同時にホストするために Apache Tomcat (7.0.29) を実行しようとしています。Jenkins のメモリ要件を見つけようとしましたが、wiki がダウンしているようです。

${TOMCAT_HOME}/bin/catalina.sh、次のコマンドを追加しました。

CATALINA_OPTS="$CATALINA_OPTS -server -Xms1024m -Xmx3052m"

これにより、Tomcat の JVM のサイズは (本質的に) 1 ~ 3 GB に保たれ、他のものを入れるための十分なスペースが確保され、Tomcat に Artifactory/Jenkins や必要に応じて他のものに十分なメモリが与えられます

JAVA_OPTS(価値があるのは、同じ正確な結果を得るためだけに同じことを試したことです)。その変更を保存して実行しますstartup.sh。Tomcat は起動を開始し、Tomcat が PermGen スペースを使い果たしたと不平を言う OOME で終了します。

Exception in thread "SocketListener(<hex-stuff>.local.)"
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
Exception in thread "hudson initialization thread" java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space

ここでどこが間違っているのですか?これを行う方法に関する複数の記事を読みましたが、(信じてください!) それらを正確にフォローしています。これをさらにデバッグする方法についての考えやアイデアはありますか? 前もって感謝します!

4

1 に答える 1

141

これを設定してみてください

CATALINA_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"

{$tomcat-folder}\bin\setenv.sh(必要に応じて作成します) 。

詳細については 、 http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/を参照してください。

于 2012-10-02T10:43:24.693 に答える