S2Dao使用時のメモリリーク
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
●問題点~
SQL検索を実行していくと徐々にJVMのpermanent領域を圧迫しGC...
java.lang.OutOfMemoryError: PermGen space が発生してしま...
※SQL検索は一度の実行ではなく複数回(本事象では500回程度)...
●環境~
OS:Windows2008Server~
Java:JDK V6.0.13~
DB:Microsoft SQLServer 2005 Standard Edition~
Tomcat:Tomcat V6.0.18~
(オプション設定)~
Xms512m~
Xmx512m~
XX:PermSize=512M~
XX:MaxNewSize=512m~
XX:MaxPermSize=512m~
●実装方法~
S2Daoで@SqlFileを使用しSQLの実行を行う。~
XXXXXConditionDtoを使用し引数を条件を受け渡す。~
SQLファイルを2つ用意する ※SQLの内容は同じ~
一方だけにWhere句にIf文を追加する~
例)~
/*IF BBB != null*/~
AND AAAA >= /*BBB*/~
/*END*/~
IF文の結果もfalseになるので実行されるSQLは全く同じ~
●結果~
IF文がないSQLファイルの場合 ⇒ OutOfMemoryErrorが発生し...
IF文があるSQLファイルの場合 ⇒ OutOfMemoryErrorが発生~
S2DaoのIF文を解析するクラスがメモリに溜まっていると推測さ...
解決方法はありますでしょうか?~
●回答
ちょっとこの情報だと起きている情報がわからないので、
プロファイラや-Xverbosegcでどのクラスが「溜まっている」の...
そのうえで新しい情報があれば、[[Seasar-Userメーリングリス...
終了行:
●問題点~
SQL検索を実行していくと徐々にJVMのpermanent領域を圧迫しGC...
java.lang.OutOfMemoryError: PermGen space が発生してしま...
※SQL検索は一度の実行ではなく複数回(本事象では500回程度)...
●環境~
OS:Windows2008Server~
Java:JDK V6.0.13~
DB:Microsoft SQLServer 2005 Standard Edition~
Tomcat:Tomcat V6.0.18~
(オプション設定)~
Xms512m~
Xmx512m~
XX:PermSize=512M~
XX:MaxNewSize=512m~
XX:MaxPermSize=512m~
●実装方法~
S2Daoで@SqlFileを使用しSQLの実行を行う。~
XXXXXConditionDtoを使用し引数を条件を受け渡す。~
SQLファイルを2つ用意する ※SQLの内容は同じ~
一方だけにWhere句にIf文を追加する~
例)~
/*IF BBB != null*/~
AND AAAA >= /*BBB*/~
/*END*/~
IF文の結果もfalseになるので実行されるSQLは全く同じ~
●結果~
IF文がないSQLファイルの場合 ⇒ OutOfMemoryErrorが発生し...
IF文があるSQLファイルの場合 ⇒ OutOfMemoryErrorが発生~
S2DaoのIF文を解析するクラスがメモリに溜まっていると推測さ...
解決方法はありますでしょうか?~
●回答
ちょっとこの情報だと起きている情報がわからないので、
プロファイラや-Xverbosegcでどのクラスが「溜まっている」の...
そのうえで新しい情報があれば、[[Seasar-Userメーリングリス...
ページ名: