I got several report from application users of out of memory exception when 
connecting to a H2 server. When trying to reproduce, I used jconsole to 
connect to the H2 server and check what's going on. 

I found when I connect to the H2 server and load a database the first time, 
H2 server start consuming a lot of memory. Before loading any database, the 
H2 server only consume 3M memory. After using Squirrel SQL client 
connecting to the H2 and load the 250M file database, H2 server consume 
about 1G memory. What could be the reason this happen?

H2 server start command: java -Xmx2g -Xms16m -XX:PermSize=16m 
-XX:MaxPermSize=256m -cp "h2-1.3.173.jar;%H2DRIVERS%;%CLASSPATH%" 
org.h2.tools.Server -tcp -tcpPort 9097 -tcpAllowOthers -baseDir C:\temp\h2db

My connection string: jdbc:h2:tcp://localhost:9097/db1;DB_CLOSE_DELAY=-1
------------------------------
Additional information: We have quite some tables(1200+) in the database, 
and 800+ views which union or join on these tables. Will this be the cause 
of this problem? Could there be any solutions that reduce the memory 
consumption when loading such database?
 
 
The stackoverflow thread at:
http://stackoverflow.com/questions/20107314/h2-server-consume-1g-memory-to-load-a-250m-file-based-database

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to