I just took a closer look at this. What you are showing is the object tree related to the SqlMapClient - which is very large in your case. That probably means you have a lot of mapped statements (perhaps 8208 of them). That should be ok - because this object tree should only occur one time and should not change once it is built.
Are you seeing that this tree is built and destroyed over and over again? Or are there multiple instances of this tree? This is a common misuse of iBATIS. You should build the SqlMapClient one and only one time. You should keep it for the life of the application somewhere (like a singleton, or let Spring build it and hold onto it). Jeff Butler On Dec 4, 2007 8:55 PM, Jeff Butler <[EMAIL PROTECTED]> wrote: > Interesting. The char[] are inside Strings, which are inside HashMaps, > which appear to be inside the parameters you are passing to iBATIS. It > appears that you have some large HashMaps being passed into iBATIS. I > submit that this is not an iBATIS problem but a problem in the way you are > USING iBATIS. > > Make sure that you are not holding onto these large HashMaps you are using > as parameters - it would be very interesting to see higher in the > HeapAnalyser than what you've shown - where in your code are these HashMaps > being created? > > Jeff Butler > > > > On Dec 4, 2007 8:38 PM, pooven <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > Here with I am attaching the screen shot of the Heapdump analyser which > > shows clearly the break up where in which package of the iBatis class > > causing the memory leak. > > > > Kindly if any one knows how to get rid of this issue , greatly > > appreciated. > > Thanks and regds, > > Poovendran > > > > > > > > > > pns77 wrote: > > > > > > I am also facing a similar issue with ibatis - we arrived at the > > > conclusion after an analysis of heap dump. The following was the > > response > > > that we got for a ticket we had raised with IBM. > > > > > > " ..Maximum heap was set to 1024m and almost 1000mb of heap is in use. > > > Anlaysis of the heapdump shows the com/ibatis/sqlmap/engine/* code > > > occupying most of heap(Nearly 900mb). .." > > > > > > There seems to be too many char[] (character array) objects that get > > > created from com.iBatis.sqlmap.engine.impl.SqlMapClientImpl class. In > > our > > > application side we had explcitly set the "daoManager" object > > reference to > > > null so that it could be GC'ed. Still, we dont see any improvement. > > > > > > Would apprecitate if some one could suggest a solution. > > > > > > We use WebSphere 6 on AIX / ibatis accessing DB2 database. > > > > > > Thanks, > > > P.N.Subramanian > > > > > > > > > pooven wrote: > > >> > > >> We are using a iBatis 2.3.677 along with CrystalReport 11.8,Websphere > > >> AppServer 6.0.23 and DB2 8.2 and Websphere Portal Server 5.1.0.4, in > > our > > >> struts based portlet application. > > >> > > >> There are 183 reports we are using. > > >> > > >> We are facing the outOfMemory issue. After analysing the heapDump > > file > > >> through the IBM HeapAnalyser we came to know that there is a memory > > >> leakage around 8 MB in the > > >> > > >> com.iBatis.sqlmap.engine.impl.SqlMapClientImpl class, > > >> > > >> I called flushDataCache from the sqlMapper , still it is of no use. > > >> > > >> Can any one guide me in this regard. > > >> > > >> > > >> Thanks, > > >> P.Poovendran > > >> > > > > > > > > http://www.nabble.com/file/p14164086/iBatis%2BMemory%2BLeak.bmp > > iBatis+Memory+Leak.bmp > > -- > > View this message in context: > > http://www.nabble.com/Memeory-leak-in-com.iBatis.sqlmap.engine.impl.SqlMapClientImpl-class-tf4928332.html#a14164086 > > Sent from the iBATIS - User - Java mailing list archive at > > Nabble.com<http://nabble.com/> > > . > > > > >
