最近、Netbeans 6.8 を使用して JSF Web アプリケーションで作業しているときに、常に PermGen: Out Of Memory エラーが発生します。フォーラムで何人かが提案したように、これはコードのホットスワップとは関係がないことにも気付きました。通常、コードを再デプロイするたびに、ローカル Web サーバーである Tomcat 6.0 を再起動します。これは私にも時々発生していましたが、最近では頻繁に発生しています。通常、クラッシュするまでに 2 分以上かかることはありません。
この問題について私が行った重要な観察は、デバッガーを実行しているときにのみ発生するように見えるということです。サーバーを定期的に起動すると、無期限に実行されます。デバッグ モードで実行するとすぐに、この問題が発生します。
Tomcat で Java の JAVA_OPT メモリ設定を増やすためにこれまでに見つけたすべてのヒントを試しました。netbeans.conf で Netbeans に使用できるメモリを増やしてみました。まだ運がありません。私が行った特定の構成変更を確認したい場合は、それも投稿できます。
また、これは Java のメモリ リークの結果である可能性があることも読みました。私は Netbean のプロファイラーを実行してみましたが、実際に役立つことを行う前にクラッシュすることがよくありました。さらに、それが実行されたとき、ばかげた世代を持つすべてのオブジェクト割り当ては、Java ライブラリまたはプリミティブのものでした。たとえば、最大の世代を持つ char[] は、アプリの最大のメモリ ホグでした。
誰かが以前に同様の問題を抱えていたかどうか、もしそうなら、どのように解決したかを知りたいです。これは私の仕事をする能力を深刻に妨げ始めています。
助けてくれてありがとう。