[Mono-devel-list] Memory management for long running processes

Alex Chudnovsky alexc at majestic12.co.uk
Mon Mar 28 11:36:55 EST 2005


I have ported a long running (by design) .NET application to Mono and 
found that
running it on Linux (Red Hat 9) appears to take more memory than
running it on Windows. I tried various versions of Mono: 1.0.6, 1.1.4 
and 1.1.5.

I have started running app under Mono's profiler and the issue appears 
to be related
to Mono's GC unwilling to release memory allocated for basic objects 
such as strings.

I appreciate that I am way too short on details but I have just started 
investigating
these memory leaks and wanted to post this message in hope to get some 
guidance
from people who know Garbage Collector well as there is little on the 
Net about Mono's
GC apart from some words along the lines that it is not particularly 
strong with long running
applications.

The question that I have right now is whether programmer can do anything 
to assist
GC to release memory used by strings, chars and byte[]'s. Would 
assigning null to types
that are nullable help at all?

I am specifically concerned about strings since my application deals 
with loads of those
and many of them are unique so memory is used but it should be released 
once processing
is done, and it does not seem to happen. I will post more details, 
hopefully with test cases.

cheers,

Alex



More information about the Mono-devel-list mailing list