Re: GC leaks debugging
Andrew Haley <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
On 03/04/11 18:59, Erik Groeneveld wrote: > On Sun, Apr 3, 2011 at 7:14 PM, Erik Groeneveld <[email protected]> wrote: >> On Sat, Apr 2, 2011 at 11:38 AM, Erik Groeneveld <[email protected]> wrote: >>> >>>> Note that in the information you posted, the GC was scanning around 7.5MB of roots conservatively. It might be worth checking what those regions are. > [...] >> So I am now off into JvCreateJavaVM, > > and I found that the 7.5 MB roots are the static data area of libgcj > itself. The GC calls back -- the last arg being the size: > > _Jv_GC_has_static_roots(../gccinstall/lib/libgcj.so.12, 0xb704f000, 7544028) > > and since libgcj is in 'the store' (_Jv_print_gc_store() prints > "../gccinstall/lib/libgcj.so.12"), it tells the GC to scan its static > data area conservatively. > > As of yet I don't understand why this static area is so big, and what > could be on it, but when I lay myself to rest, the little gray cells > will sing to me (free after Hercules Poirot ;-). It'll mostly be introspection data. Every class and every method has this, and it can get to be quite large. I doubt it's the cause of your memory leak unless there's a bug elsewhere. Andrew.