[Seasar-user:18238] OGNLとPermanent領域圧迫の関係について

大塚 幸二 [E-MAIL ADDRESS DELETED]
2009年 8月 10日 (月) 14:29:38 JST


はじめまして、大塚と申します。

現在、弊社で運用しているシステムで
下記のような問題が起こっております。

■現象
システムを起動後、時間が経つと
Permanent 領域がいっぱいになり、FullGCを繰り返し、
システムがレスポンスを返さなくなる。
(起動時のオプションで、Permanent 領域を512M確保するようにしています。)



起動オプション "-XX:+PrintClassHistogram" でクラスの統計情報を確認したところ
リフレクションクラス(sun.reflect.GeneratedConstructorAccessor+ユニーク番
号)が
経過時間とともに増え続けていることが確認できています。

本来であれば、このリフレクションクラスは解放されるクラスで
開放されないとすれば、時間の経過とともに
Permanent 領域を食いつぶしてしまうことを防げないと考えております。

原因としては、下記のブログでも掲載されているように
OGNLであると推測しています。

http://d.hatena.ne.jp/t-katochin/20051101
http://d.hatena.ne.jp/t-katochin/20051102
http://d.hatena.ne.jp/t-katochin/20051111

OGNLの変更ログから、最新版での修正が入っていないかを
追おうと思ったのですが、S2Frameworkが依存しているognl-2.6.9-patch-20090427で
修正が入ったような変更履歴を見つけることができませんでした。

仮にOGNLが原因であるとすれば、
弊社で利用しているプロダクトはS2JSF(1.0.14)、S2DAO(1.0.33)ですが
最新のS2Framework(2.4.39)でも同様の現象が発生するのではないかと考えておりま
す。

この現象に対する、回避策などありますでしょうか。

よろしくお願いいたします。



Seasar-user メーリングリストの案内