私は現在、自分も作成したWebサイトにアクセスするだけで、任意のウェアから統計を取得できるツールを開発しています。
知らない人のために、Birtはレポートツールであり、Eclipseプラグインです。
私の問題は次のとおりです。
WebサイトをホストしているサーバーにTomcatをインストールし、Birt ReportEngineをインストールしました。また、Webサイトで、オンラインビューアを呼び出してレポートを取得します。
問題は、昨日からレポートを起動すると、次のエラーが発生することです。
javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
org.Eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.Java:68)
のせいで :
Java.lang.OutOfMemoryError: PermGen space
このエラーを回避するためにどの設定ファイルを変更するかは本当にわかりません。 Eclipse.iniファイルを変更するように指示するいくつかの例をオンラインで見つけましたが、mty Webサイトに関しては、Eclipseを使用しておらず、有用な投稿は見つかりませんでした。
誰かが私を助けてくれますか?
ありがとう
トーマスが言ったように、設定するパラメータは-XX:MaxPermSize
です。 Tomcatにこのパラメーターを設定する1つの方法は、CATALINA_OPTS
環境変数を使用することです。
Windowsの場合:
set CATALINA_OPTS=-Xms512m -Xmx512m -XX:MaxPermSize=256m
Linux(bash)の場合:
export CATALINA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=256m"
Tomcat/binディレクトリにあるstartup.bat
およびcatalina.bat
またはstartup.sh
およびcatalina.sh
ファイルを確認してくださいそこに上記のコマンドを追加します。
(XmxパラメーターとXmsパラメーターは、Javaヒープ-オブジェクトが格納される場所です。これは問題ではありませんが、完全を期すために含めました。)の最小サイズと最大サイズを設定します。
Eclipse.iniに次の行を追加する必要はありません
-XX:MaxPermSize=128m
問題が再度発生する場合は、値を増やしてみてください。次のオプションの行を追加することもできます。
-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
-XX:+UseParNewGC
これにより、JVMのガベージコレクターがより最適化されたものに変更され、パフォーマンスとメモリ使用量も向上します。
-Xmx
およびXms
オプションの値を微調整することもできます。 JVMのメモリフットプリントが増加するため、少し増やしてみてください(-XX:MaxPermSize
と同じ)。
詳細については、こちらを参照してください: http://www.eclipsezone.com/Eclipse/forums/t61618.html
JVMパラメータとオプションの完全なリストについては: http://www.Oracle.com/technetwork/Java/javase/tech/vmoptions-jsp-140102.html
そのJVMオプションを使用します:-XX:MaxPermSize=256m
(もちろん、メモリの量は自由に選択できますが、IIRCのデフォルトは64mなので、それを増やす必要があります)。 -これはOracleのJVM(以前のSunの:))用であることに注意してください。他のJVMには異なるオプションがある場合があります。
それ以外は、ホットデプロイをやりすぎないようにしてください。これにより、PermGenのスペース使用量も増える可能性があります(Tomcatを含むJBossには問題がありますが、スタンドアロンのTomcatに当てはまるかどうかはわかりません)。
これは、より多くのヒープメモリを割り当てることで解決できます。これは次のように実行できます。手順:Eclipseサーバーをダブルクリック->起動構成を開く->引数->この行をvm引数のテキスト領域に貼り付ける:-
-XX:MaxPermSize = 512M -Xmx1024Mこれにより、メモリ不足エラーが解決されます。
以下の行をEclipse.iniに追加し、正常に機能しています。
-startup
plugins/org.Eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.Eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256m
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m