私はSunのJRE6でTomcat6を実行しており、すべてのカップルがデプロイするとOutOfMemoryException:PermGenが発生します。私はPermGenソリューションのグーグルを実行し、多くの修正を試みました。動作しません。OracleのJRockitと、そのPermGen割り当てのサイズをギグにする方法(Sunの128Mと比較)について多くの良い点を読みました。問題は解決しませんが、PermGenの例外間で2回と比較して100回再デプロイできます。今回。
JRockitの問題は、数千ドルの費用がかかるWebLogicを購入する必要がある本番環境でJRockitを使用することです。PermGenの拡張をより許容する他の(無料の)オプションはありますか?以下のJVMはこの領域でどのように機能しますか?
- IBM JVM
- JDKを開く
- ブラックダウン
- カフェ
...その他?
更新: PermGenの最大値が128Mだと思った理由を尋ねる人もいます。その理由は、128Mを超えようとすると、JVMが初期化に失敗するためです。
[2009-06-18 01:39:44] [info] Error occurred during initialization of VM
[2009-06-18 01:39:44] [info] Could not reserve enough space for object heap
[2009-06-18 01:39:44] [395 javajni.c] [error] CreateJavaVM Failed
オブジェクトヒープ用のスペースを予約しようとして失敗するのは不思議ですが、それが「a」ヒープではなく「the」ヒープであるかどうかはわかりません。
初期ヒープが1024MB、最大ヒープが1536MBのJVMを起動します。
答えられたので、この質問を閉じます。「切り替えは役に立たない」と代わりに尋ねるなぜ私のSunJVMはより大きなPermGen設定で失敗するのですか?