私は標準の Lift プラットフォーム (maven と jetty) で開発しています。私は繰り返し(数日に1回)これを取得しています:
Exception in thread "7048009@qtp-3179125-12" java.lang.OutOfMemoryError: PermGen space
2009-09-15 19:41:38.629::WARN: handle failed
java.lang.OutOfMemoryError: PermGen space
これは私の開発環境にあります。サーバーを再起動し続けることができるので問題ありません。展開では、これらの問題は発生していないため、実際の問題ではありません。私はただ興味があります。
私はJVMについてあまり知りません。永続的な世代のメモリは、クラスやインターンされた文字列などのためのものであると考えるのは正しいと思いますか? 私が覚えているのは、.NET メモリ モデルと少し混同されていることです...
これが起こっている理由は何ですか?デフォルトは非常に低いですか?Scala が Function オブジェクトや同様の FP 用に作成しなければならないすべての補助オブジェクトと関係がありますか? 新しく記述したコードで Jetty を再起動するたびに (数分ごとに)、クラスなどが再ロードされると想像します。また、JVM は多数のクラスを処理できるべきではありませんか?
乾杯
ジョー