[Seasar-user:19254] ライブラリの格納先について

奥野 守 [E-MAIL ADDRESS DELETED]
2010年 2月 9日 (火) 09:38:37 JST


# 申し訳ありません、[Seasar-user:19253]が正しく送信できていなかったため、
  再送させていただきます。

初めてご連絡させていただきます。奥野と申します。

現在、下記の環境でWEBアプリケーションの開発を行っており、
2点ご質問させていただきたいことがあります。

  [環境]
  ・SAStruts + S2JDBC(S2Container 2.4.33)
  ・JBoss EAP 4.3GA
  ・Red Hat Enterprise Linux Server release 5.3 (Tikanga)

デフォルトでWEB-INF/lib配下に格納されているライブラリがあると思いますが、
格納先を各アプリケーション共通で参照可能な位置(*1)に変更したいと考えています。
((*1)Tomcatの場合、$CATALINA_HOME/shared/lib等)

なお、下記strutsの仕様から、struts/commons-*関連のライブラリについてはWEB-INF/libに格納することとし、
それ以外について格納先を変えることを検討しています。

  http://struts.apache.org/1.2.9/userGuide/configuration.html
  5.5 Add Struts Components To Your Application - Sidebar: Sharing JAR Files Across Web Applications 

検討対象のライブラリは下記となります。

  [ライブラリ]
  ・aopalliance-1.0.jar
  ・geronimo-jta_1.1_spec-1.0-tsr.jar
  ・jakarta-oro-2.0.8.jar
  ・jakarta-taglibs-standard-1.1.2.jar
  ・javassist-3.4.ga.jar
  ・jstl-1.1.2.jar
  ・ognl-2.6.9-patch-20070908.jar

上記をWEB-INF/libから格納先を変更した所、
下記の現象が発生します。

  [現象]
  Webアプリケーションのhotdeployを繰り返すと
  permanent領域の使用率が上昇しFullGCが発生する。
  その際、使用率が減少せずOutOfMemoryError(PermGen space)となる。

  jstat確認結果:
                 S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
  配備1回目:  0.00  55.44  96.92  14.72  51.74     59    4.694     0    0.000    4.694
  配備2回目:  0.00  54.88  43.53  21.90  72.11     97    7.506     0    0.000    7.506
  配備3回目: 54.29   0.00  76.71  28.53  92.44    134    9.983     0    0.000    9.983
  配備4回目:  0.00   0.00  10.99  14.36 100.00    154   11.614     4    3.411   15.025

ライブラリの格納先の変更に関して、
下記の点について可能でしたら情報いただけないでしょうか?

  [内容]
  1. [現象]で、FullGC時にWebアプリケーション内のクラスのアンロードが動作していない状態ですが、
     考えられる原因を教えていただけないでしょうか?

  2. [ライブラリ]の格納先について、どれをWEB-INF/libに含める必要があるか教えていただけないでしょうか?
     # ognl-2.6.9-patch-20070908.jarを含めることで、FullGC時にクラスのアンロードは
       動作するようになりましたが、他に必要なライブラリがないかを気にしております。

以上、お手数をおかけいたしますが
よろしくお願いいたします。


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