[Mono-dev] Issues with GC due to libgc

Miguel de Icaza miguel at novell.com
Tue Sep 29 12:58:24 EDT 2009


> Ok, but the problem is that ALL memory should be freed, since there
> are no references to the arrays. Of course you've to invoke GC. The
> 600Mb in RES is a leak (Virtual Mem will only grow since libgc will
> never release it, this is another patch Dick has been working on)

This can easily be explained by memory fragmentation problems.

Using the setup similar to HttpResponseStream and changing your code to
use unmanaged buffers for your large data sets is the only short-term
solution that you will have access to.

SGen is nowhere done, and even when it is done, there is no support for
precisely scanning the stack.

And even with Dick's initial work for flagging regions with pointers the
amount of code required to get this in the JIT is non trivial.   In
addition to what I pointed out yesterday, I realized that parameter
arguments for example would not work with this setup, so it would also
need to sort that part out.

Non-trivial amount of work on the JIT side, with no easy to estimate
timelines, while the work around is straight forward and you can put an
upper limit on the time you spend working on it.   Probably a week worth
of work.

More information about the Mono-devel-list mailing list