1. ホーム
  2. exception

[解決済み] java.lang.OutOfMemoryError "に対処する。PermGen space "エラーに対処する

2022-03-18 17:59:02

質問

最近、私のWebアプリケーションでこのようなエラーに遭遇しました。

java.lang.OutOfMemoryError: PermGenスペース

Tomcat 6とJDK 1.6で動作する典型的なHibernate/JPA + IceFaces/JSFのアプリケーションです。 どうやら、アプリケーションを何度か再デプロイした後に発生する可能性があるようです。

何が原因で、どうすれば回避できるのでしょうか? どうすれば問題を解決できますか?

どのように解決するのですか?

Tomcat起動時に、JVMのコマンドラインにこれらのフラグを追加することで解決しました。

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

tomcatサービスをシャットダウンし、Tomcat/binディレクトリに移動して、tomcat6w.exeを実行することで可能です。Java"]タブで、["Java Options"]ボックスに、引数を追加してください。OK"]をクリックし、サービスを再起動します。

エラーが発生した場合 指定されたサービスがインストールされたサービスとして存在しません。 を実行する必要があります。

tomcat6w //ES//servicename

ここで サービス名 は、services.mscで表示されるサーバーの名前です。

出典:orxさんのコメント エリックのアジャイルアンサー .