web-dev-qa-db-ja.com

Tomcatのメモリ設定を増やす

可能性のある複製:
「Java.lang.OutOfMemoryError:PermGen space」エラーの処理

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

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

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

これにより、TomcatのJVMを(本質的に)1 GBから3 GBのサイズに保ち、他のもののための十分なスペースを残しますandTomcatにArtifactoryに十分なメモリを与えます/ジェンキンス、そして私が望むなら他の人でさえ。

(価値があるものについては、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

私はここでどこに行きますか?私はこれを行う方法について複数の記事を読んでおり、(信じている!)私はそれらを正確に追っている。これをさらにデバッグする方法についての考えやアイデアはありますか?前もって感謝します!

72
IAmYourFaja

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

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/ を参照してください。

126
sgpalit