[Mono-list] Garbage collection and memory usage

Gavin Hamill gdh at laterooms.com
Fri Apr 7 12:30:01 EDT 2006


On Fri, 07 Apr 2006 00:37:47 -0400
Miguel de Icaza <miguel at ximian.com> wrote:

> Thanks for posting the message, we need a few more data points here.

Sure thing.
 
> You mention that the application will go down within twenty minutes.  By
> the time it goes down, what is growing out of proportion?   Is it the
> Apache process with mod_mono or is it the Mono process that runs
> mod-mono-server.exe?

The latter. Apache is only occupying the typical 80MB per process.

> You mentioned that requests were being received, but they were not
> getting a reply.  What was the size of Mono then?

It could be anything from 300M upwards - initially we only saw that
everything stopped working when Mono reached about 800M, so we threw
more memory into the machine, but it made no difference.
 
> This could be caused by a number of reasons: the requests might not be
> completing;   You might be using some library that has a threadpool
> leak;  You might be starving and deadlocking the threadpool internally.

<nod> All sounding very sensible...

We use SMP machines so from what I've read, Heap Buddy will be no help..

I have been reading http://www.mono-project.com/Debugging as a result
of your reply to Georgi Moskov who is having the same issue as us, but I
don't understand how this applies to mod_mono, since obviously we do not
run the website from the commandline :)

Do I wait for the site to grind to a halt, and then attach gdb? Do I
hook gdb in as soon as the mod-mono-server.exe process begins? What gdb
options do I need to deal with multi-threads? Finally, do I need to
recompile mono to include extra debug symbols?

Cheers,
Gavin.


More information about the Mono-list mailing list