|
Andy Seaborne schreef op 29-11-2013
9:39:
Hi Andy, The problem, as far as I can tell, is not in Jena TDB itself. The Jena TDB bundle is still active/running. Only the Clerezza TDB Provider bundle is stopped (by me). Like my image shows a normal GC does not release all of the memory. Only after stopping the Clerezza TDB Provider memory allocated for importing is release. Because of stopping this particular bundle all jena datastructures become inaccessible and eligible for GC. Just like the image shows. My reasoning is that since the Clerezza TDB Provider has a map with weak references to Jena models these references are never properly garbage collected. Since I use the same graph all the time all data gets accumulated and resulting in out of memory. Looking at a memory dump, most space is occupied by byte arrays containing the imported data. I use a nasty hack to prevent this dreaded out of memory. After every import I restart the Clerezza TDB Provider bundle programmatically (hail OSGI for I wouldn't know how to do this without OSGI). Like this I have been able to import more that 300 files in a row (still running). Regards, Minto |
- Is Clerezza leaking memory? Minto van der Sluis
- Re: Is Clerezza leaking memory? Andy Seaborne
- Re: Is Clerezza leaking memory? Minto van der Sluis
- Re: Is Clerezza leaking memory? Andy Seaborne
- Re: Is Clerezza leaking memory? Reto Gmür

