質問: 「PermGen領域は、クラスやメソッドのメタデータを保持する領域」と私は理解しています。 そこから、以下のように考えていますが、間違っていないでしょうか? * 同時に複数ユーザが利用しても、PermGenのOutOfMemoryが発生するとは限らない * ファイルの中身をメモリで大量に保持していたから、発生した訳ではない * ファイル読み込み処理でたくさんのクラスをロードしているかもしれない?
回答: 質問1への回答 ヒープとPermは別領域なのでヒープが少なくなることはないですよ 質問2への回答 >同時に複数ユーザが利用しても、PermGenのOutOfMemoryが発生するとは限らない 限らないとは思います。 >ファイルの中身をメモリで大量に保持していたから、発生した訳ではない そうですね。どちらかといえばヒープに影響する部分ではないかと >ファイル読み込み処理でたくさんのクラスをロードしているかもしれない? クラスロードの関係上少しばかりはあるかもしれませんね。 Perm系は、クラスロード(FW)などの影響も受けるのでむずかしいところではあります。 ※参考 http://ameblo.jp/vashpia77/entry-11486039940.html 定期的に再起動させたり、Perm領域増やしたり、OOM時にはDUMP設定を入れておいて 落ちた後で調査したりしてますね。 開発環境があるようでしたら、jvisualvm などで調査してみてはいかがでしょうか? 別件ですが、heap 1024m + perm 256m だと、OS側のメモリも考慮すると 2Gメモリだと少々心もとないですね^^;;