Jenkins ビルド サーバーで Maven Java アプリを構築しています。Jenkins でのビルド中に何度も実行されますjava.lang.OutOfMemoryError: PermGen space
が (ローカルホストでは決して実行されません)、ビルドに失敗します。
MAVEN_OPTS
私はすでにJenkinsの設定を試みました:私はJenkins
--> Manage Jenkins
--> Configure system
-->Global MAVEN_OPTS
に入り、に設定されました-Xms512m -Xmx1024m -XX:MaxPermSize=512m -XX:PermSize=512m
。この高い値に設定しているにもかかわらず、PermGen スペースの問題が発生し続けています。MAVEN_OPTS をより高い値に設定したくありません。私のアプリがどのように大量のスペースを必要とするのかわかりません。メモリ使用量が多い問題を深く掘り下げたいと思います。
最近、おそらく permgen スペースの問題は Maven 自体からではなく、Maven がスピンオフする JVM プロセスの 1 つ (例: プラグイン) にあるのではないかと考えています。この仮説を提案するのは、すでに permgen スペース エラー行を吐き出しているにもかかわらず、Maven が TestNG テストを正常に実行できるためです。PermGen エラーの原因となっているプラグインの 1 つはJetty です。
Oct 31, 2012 7:55:37 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: handle failed
java.lang.OutOfMemoryError: PermGen space
したがって、私は知りたいです:
このMAVEN_OPTS
変数は、Maven ビルドがスピンオフする子 JVM プロセスにも適用されますか? そうでない場合、Jetty などの子プロセスの JVM オプションを設定するにはどうすればよいですか?
注: Maven 3.0.4 を使用しています。