Tomcat 6.0を使用していますが、Tomcatの起動中ではなくインデックス作成中に、permgenスペースエラーが発生します。
どうすればそのスペースを増やすことができますか?
ありがとう
以下を使用できます。
-XX:MaxPermSize=128m
スペースを増やします。しかし、これは通常、避けられない事態を延期するだけです。
PermGenをガベージコレクションすることもできます
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
通常、これは多くの再デプロイを行うときに発生します。インデックスのようなものを使用していることに驚いています。 virtualvmまたはjconsoleを使用してPerm genスペースを監視し、インデックス作成のウォームアップ後にレベルが安定することを確認します。
たぶん、IBM JVMのような別のJVMへの変更を検討する必要があります。永続的な世代はなく、この問題の影響を受けません。
Tomcatの場合、次を使用してpermGemスペースを増やすことができます。
-XX:MaxPermSize=128m
そのためには、Tomcat/binフォルダーにsetenv.shという名前のファイルを作成し(まだ存在しない場合)、次の行を含める必要があります。
export Java_OPTS="-XX:MaxPermSize=128m"
リファレンス: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
IDEのVM引数を使用して値を増やすこともできます。私の場合、Eclipseで実行されているTomcat v7.0を使用しています。これを行うには、サーバー(Tomcat v7.0)をダブルクリックします。 「起動構成を開く」リンクをクリックします。 [引数]タブに移動します。 -XX:MaxPermSize = 512mをVM引数リストに追加します。 「適用」をクリックしてから「OK」をクリックします。サーバーを再起動します。
メモリ設定が使用されていないことがわかった場合、メモリ設定を変更するために、\ binフォルダのTomcat7wまたはTomcat8wを使用しました。次に、次のポップアップが表示されます。
Javaタブをクリックして、arguments.restart Tomcatを追加します。
Debianのようなディストリビューションでは、/etc/default/Tomcat[67]
で設定します