[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 メーリングリストの案内