[hibernate-dev] Memory consumption
Andrej Golovnin
golovnin at gmx.net
Sat May 12 09:48:45 EDT 2012
Hi Scott,
> It sounds like adding <property name="javax.persistence.validation.mode" value="NONE"/>, is responsible for the memory savings, more than using Hibernate Validator 4.3.0. If not, it would be helpful for us to know that.
>
> I wouldn't expect much more savings than that (with validation mode set to NONE, we won't pass a validator instance into the session factory).
Hibernate Validator 4.3.0 was responsible for memory saving not the property.
>
> If your using MAT, I would drill into the "outgoing" references from the org.hibernate.internal.SessionFactoryImpl and produce more pictures of the objects consuming the larger part of that memory.
I already done it. But the problem is that if I make side by side comparison
between memory dumps from JBoss 4 and JBoss 7 I don't see a big difference. :-(
Only the size of SessionFactoryImpl differs.
>
> Also, it might be helpful for us to see your persistence.xml.
No problem. Here it is:
<persistence-unit name="MyEntityManager">
<jta-data-source>java:/MyDS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
<property name="hibernate.max_fetch_depth" value="0"/>
<property name="hibernate.default_batch_fetch_size" value="16"/>
<property name="hibernate.order_updates" value="true"/>
<property name="hibernate.order_inserts" value="true"/>
<property name="hibernate.jdbc.fetch_size" value="50"/>
<property name="hibernate.jdbc.batch_size" value="15"/>
<property name="hibernate.jdbc.wrap_result_sets" value="false"/>
<property name="hibernate.query.jpaql_strict_compliance" value="false"/>
<property name="hibernate.ejb.interceptor" value="MyInterceptor"/>
<!-- Hibernate Search Properties -->
<property name="hibernate.search.lucene_version" value="LUCENE_35"/>
<property name="hibernate.search.default.directory_provider" value="MyFSDirectoryProvider"/>
<property name="hibernate.search.worker.scope" value="MyTransactionalWorker"/>
<property name="hibernate.search.enable_dirty_check" value="false"/>
<property name="hibernate.search.worker.batch_size" value="100"/>
<property name="hibernate.search.default.transaction.merge_factor" value="10"/>
<property name="hibernate.search.default.transaction.max_buffered_docs" value="10"/>
<property name="hibernate.search.default.batch.merge_factor" value="100"/>
<property name="hibernate.search.default.batch.max_buffered_docs" value="100"/>
<property name="hibernate.search.default.exclusive_index_use" value="false"/>
<property name="hibernate.search.default.reader.strategy" value="not-shared"/>
<!-- Hibernate Validation -->
<property name="javax.persistence.validation.mode" value="NONE"/>
</properties>
</persistence-unit>
Best regards,
Andrej Golovnin
More information about the hibernate-dev
mailing list