[Mono-bugs] [Bug 495486] New: GC does not release memory.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Apr 16 08:23:54 EDT 2009


http://bugzilla.novell.com/show_bug.cgi?id=495486


           Summary: GC does not release memory.
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x
          Platform: x86-64
        OS/Version: Linux
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: GC
        AssignedTo: lupus at novell.com
        ReportedBy: sgroot at tkl.iis.u-tokyo.ac.jp
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


User-Agent:       Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64;
Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;
Media Center PC 6.0; Creative AutoUpdate v1.10.10)

When running a computation which takes a lot of memory, the GC does not release
the memory afterwards. When running multiple such computations in sequence, the
amount of memory used just keeps growing, and the performance of the system
keeps getting worse due to swapping. This continues until the process runs out
of address space or the system out of memory.

I want to use Mono for a data processing solution that needs to handle large
quantities of data, many gigabytes or sometimes even terabytes. It is
absolutely critical that memory is properly released when no longer needed.

This bug was found in 2.2 and has been verified to exist in the latest SVN
build, although the SVN version behaves marginally nicer. It has been
reproduced on Debian and Ubuntu, and on x86 and x64.

Reproducible: Always

Steps to Reproduce:
1. Compile and run the attached example program. Note that the program reads a
file english-words.35. This is a file from ispell. You can replace it with any
other file containing a reasonable number of short lines.
2. Watch the memory usage of the process with "top" or some other utility. Note
that its virtual size never decreases.

Actual Results:  
The process never frees the memory it used.

Expected Results:  
I expected memory to be released by the garbage collector when no longer used.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list