[Seasar-user:15024] Re: [S2JDBC] SQL自動生成のメモリ消費

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 7月 14日 (月) 17:00:19 JST


小林 (koichik) です.

Date:    Mon, 14 Jul 2008 14:48:35 +0900
From:    "Takashi ARAKANE" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:15022] [S2JDBC] SQL自動生成のメモリ消費

> JdbcManager での SQL自動生成を行った場合と、updateBySqlを使用した場合とで、
> メモリの消費の仕方が明らかに異なるように思います。
> 
> s2jdbc-tutorial を MySQL を使うように変更し、次の2つのコードを実行してみました。
(略)
> 特に -Xmx 等を指定せずに実行した場合には、EmployeeLogic の方は
> 徐々にメモリを消費していき、80MBytesを超えた後 OutOfMemoryが発生しますが、
> Employee2Logic の方は、25MBytes程度の消費で安定しています。

手元に MySQL の環境がないので,HSQLDB をクライアント・
サーバモードにして試してみましたが,どちらも 10 万件でも
20 万件でも成功しました.
# 50 万件だと HSQLDB のサーバがこけた.

VisualVM でヒープの使われ方も見てみましたが,SQL 自動生成の方が
文字列の処理が多いせいかメモリ使用量は多いものの,ヒープは最大でも 
7M 程度しか使われませんし,GC の度に 4M 程度まで使用量が戻ることから,
リークがあるようには見えませんでした.

お手数ですが,JDK1.6.0u7  に含まれる VisualVM などを使用して
ヒープダンプを取得し,何がヒープを圧迫しているのか確認して
いただけないでしょうか.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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