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

YASUO HIGA [E-MAIL ADDRESS DELETED]
2010年 2月 11日 (木) 11:04:42 JST


ひがです。

> お世話になっております。奥野です。
> 
> お手数をおかけし申し訳ございませんが、
> 以下の[現象]について再度ご相談させてください。
> 
> seasarで使用されているライブラリをWEB-INF/libのみに格納し、(jboss配下に格納せ
ず)
> 動作確認を行っておりましたが、数回再配備を繰り返すと
> メモリ不足が発生する状態です。
> 
> --------------------------------
> パターン2:
> ・[ライブラリ]をWEB-INF/libにのみ格納する。
>   (jboss配下には格納しない)
> 
> 結果2:
> ・hotdeploy(再配備)時、クラスのアンロードが行われるものの、
>   数回再配備を繰り返すとOutOfMemoryError(PermGen space)
>   # アンロードできているクラス/できていないクラスの詳細は
>     まだ確認できていない状態です。
> 
HOT deployと書いてますが、Seasar2のHOT deployのことではなく
JBossを稼働させたままdeployするJBossのdeployのことですよね。
だとすると、Seasar2というよりJBossのdeployと相性の悪い
ライブラリが存在している可能性があります。

Tomcatの場合はおきないので、単純に誰かが悪いという話では
なさげです。

TomcatでもTomcatのhot reloadingをonにするとメモリリークしますが、
あれは単純なTomcatの問題。

小林さんの言うとおり、どのクラスがunloadされないのかを調べるのが
良いと思います。

よろしくお願いします。

> --------------------------------
> パターン3:
> ・[ライブラリ]を、WEB-INF/lib、および、下記jboss配下の両方に
>   格納する
> <JBOSS_HOME>/server/production/lib/
> 
> 結果3:
> ・本パターンでは、メモリ不足の問題は発生していません。
> 
> --------------------------------
> [ライブラリ]
> ・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
> ・geronimo-jta_1.1_spec-1.0-tsr.jar
> 
> --------------------------------
> 
> なお、下記のライブラリについては、常にWEB-INF/lib配下に格納した状態で確認して
います。
> 
> ・commons-beanutils-1.7.0.jar
> ・commons-collections-3.1.jar
> ・commons-digester-1.6.jar
> ・commons-el-1.0.jar
> ・commons-fileupload-1.2.jar
> ・commons-io-1.3.2.jar
> ・commons-logging-1.1.jar
> ・commons-validator-1.2.0.jar
> ・s2-extension-2.4.33.jar
> ・s2-framework-2.4.33.jar
> ・s2-tiger-2.4.33.jar
> ・sa-struts-1.0.4-sp3.jar
> ・struts-1.2.9.jar
> 
> 以上、よろしくお願いいたします。
> 
> 
> ----- Original Message -----
> On 10:36 AM 02/09/2010 奥野 守 作成:
> > ひが様
> > 
> > 早急にご確認いただきありがとうございます。
> > 以下了解いたしました。
> > Seasar2で使用されているライブラリは、
> > WEB-INF/libから変更せずとしたいと思います。
> > 
> > 以上、よろしくお願いいたします。
> > 
> > 
> > ----- Original Message -----
> > On 10:24 AM 02/009/2010 Yasuo Higa 作成:
> > > ひがです。
> > > > 
> > > > 初めてご連絡させていただきます。奥野と申します。
> > > > 
> > > > 現在、下記の環境で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に格納することとし、
> > > > それ以外について格納先を変えることを検討しています。
> > > > 
> > > Seasar2で使っているライブラリは、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 mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > 
> > > > 
> > > > 
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > 
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 


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