[Mono-dev] About memory management

Jonathan Pryor jonpryor at vt.edu
Sat Apr 11 11:44:49 EDT 2009


On Sat, 2009-04-11 at 14:22 +0200, CaStarCo wrote:
> If a user starts Banshee (as a example) and other user (in the same
> machine) also starts the Banshee player... Can Mono shares the code
> sections of the program to optimize the usage of memory?

It depends on whether the application has been AOT JIT'd.  If it has
been, then code will be shared between application instances, if it
hasn't been (which is the default) then JIT'd code will NOT be shared
between application instances (as it can't, as the default JIT'd code
will contain process-specific addresses).

On openSUSE, Banshee does NOT contain AOT'd code, so for Banshee no
JIT'd code will be shared.

Now, it should be noted that not all memory is JIT'd memory.  libmono.so
(GC, JIT itself, etc.) will be shared, as will any assembly metadata
used by Reflection, so just because JIT'd code isn't shared doesn't mean
that NO memory is shared...

 - Jon




More information about the Mono-devel-list mailing list