Apr 12th, 2012, 12:40 PM
Spring Hibernate java.lang.OutOfMemoryError: GC overhead limit exceeded
I am facing issue in my web application which uses Spring + Hibernate .
I am randomly getting error
java.lang.OutOfMemoryError: GC overhead limit exceeded
when web application is running in tomcat
I tried to get Heap dump and did analysis of heap dump using Eclipse MAT
Here are my findings
Object org.hibernate.impl.SessionFactoryObjectFactory holds 86% of the memory , this objectís Fashhashmap instance holds more than 100000 Hashmaps.
Inside the every Hashmap there is an instance of org.hibernate.impl.SessionFactoryImpl ,
It seems org.hibernate.impl.SessionFactoryImpl is loaded several times and stored inside org.hibernate.impl.SessionFactoryObjectFactory Ďs Fashhashmap
Can somebody help me in finding root cause for this issue and suggest some solution to fix this.
Apr 13th, 2012, 01:30 AM
Judging from that you are either reconstructing sessionfactories yourself somewhere or yuo are have improper transaction management or do openSession in your code instead of getCurrentSession.
Tags for this Thread