sirmak wrote:
> 
> 
> Marek Habersack-6 wrote:
>> We have tested Mono's ASP.NET under very high load and it scaled pretty
>> well. Our garbage collection 
>> is not as good as we'd wish it to be, but overall the performance was more
>> than satisfactory.
>>
> 
> Hi Marek,
Hello,

> Is the current GC fills up most of the memory (maybe in x hours) under high
> load ? or is it safe to run an high load web app for a week ? If it fills up
> memory, how many hours/minutes it took to fill it under high load in your
> tests ?
GC never fills up memory, it reclaims it. Our GC works quite reliably, but it's 
just not very fast 
(and it's a conservative one). There's a certain amount of memory it doesn't 
give back to the system 
- this is done to cater to application's allocation needs faster. In our tests 
the memory 
utilization was pretty stable once it reached a certain level specific for the 
test application. I 
run my personal blog with mono and observe the same behavior. Of course, it all 
depends on memory 
patterns of your application - if it allocates a lot of memory in short periods 
of time, then it is 
possible you can find yourself in an OOM situation. It is also possible that 
either your application 
or Mono may leak memory - if you notice a pattern in which memory usage rises 
by the same amount 
which is never reclaimed, then this is the situation.
It's also worth remembering the way Unix memory usage should be read. You have 
VSS (Virtual Set 
Size) which is memory mapped by the process (i.e. reserved for current or 
future usage) - this kind 
of memory may report very high figures which do NOT represent your 
application's actual memory 
usage. Then there is RSS (Resident Set Size) which is memory actually committed 
(i.e. allocated and 
in use) by your application - this is a rough approximation of your 
application's memory usage. RSS 
can be subdivided into shared and writable/private memory chunks - the former 
is the actual amount 
of RAM your application uses. Shared memory is the part occupied by shared 
libraries (common 
code/data). If you want to check how much memory your application uses, issue 
the following command 
in terminal:

   pmap -d <pid_of_your_app>

The last line of the output will contain the figures I described above.

> And will the new GC really come with the 2.8 version ?
That's quite possible, but no promises.

marek
> 
> thanks
> sirmak
> 
>  

_______________________________________________
Mono-aspnet-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-aspnet-list

Reply via email to