1

permgen に関連する Eclipse でメモリ不足の例外が発生しています。ini ファイルの値を変更しようとしましたが、解決しません。このサイトのさまざまな関連記事を参考にしました。私のマシン構成はcorei5、8 GB RAMです。私が行っている開発では、Tomcat と、この Tomcat サーバーに http 要求を送信する Android アプリケーションを実行する必要があります。現在使用している ini を投稿しています。誰か助けてください。

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
1024M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms1700m
-Xmx1700m
-XX:MaxPermSize=1700m
-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled 
4

1 に答える 1

1

はい、1700m は確かに大きな価値があります。アプリケーション自体が permgen エラーをスローしていると思いますが、起動時に日食することはありません。エラーをスローしているのがアプリケーションである場合は、catalina.bat ファイルの JAVA_OPTS に次のオプションを追加します。(Tomcat の bin ディレクトリ内)。

-XX:PermSize=128m -XX:MaxPermSize=256m 

また、アプリケーションを調べて、すべての http 要求に対して継続的にロードされているクラスがないことを確認してください。これが、このエラーが発生する理由である可能性があります。サーバーログをチェックして、リクエストごとにどのクラスがロードされているかを確認できます.JAVA_OPTSに次のオプションを追加することで、これらのログを有効にすることができます.

-XX:+TraceClassLoading -XX:+TraceClassUnloading

また、アプリケーションではなくEclipseに関連している場合は、追加できます

-XX:MaxPermSize=<value>

起動構成の vm パラメーターに (Run As-> Run Configurations-> )

于 2012-12-14T13:24:15.957 に答える