[Mono-dev] Memory usage differences between GC and OS

Andreas Nahr ClassDevelopment at A-SoftTech.com
Tue Oct 12 11:40:14 EDT 2010


> Well, the point of the email is the following: something I've found
> several times is a situation where GC.GetTotalMemory gives me something
> like, let's say, 40Mb, then VIRT is something like 200Mb and RES is
> 80Mb.
>
> Mark refreshed me that jitted and non-jitted code will be eating up
> memory, then metadata and so on... and of course the GC internals with
> things like free memory lists and so on. But, I think it would be great
> for application developers to really understand how this is working and
> where your memory is going, because the diff between 40Mb and 200Mb is
> simply... huge!

As you wrote: That 200Mb isn't memory! It is address space.
And as you have about 17592186044416 Mb of address space available on a
64-bit system 200MB isn't much to worry about.

Moreover I don't really see much sense in trying to "tweak" that. But in
case you are interested: Afaik one of the big blocks is simply the raw
assemblies. Each of them gets loaded memmapped, so their entire file size
counts into your VIRT.

Happy Hacking
Andreas



More information about the Mono-devel-list mailing list