It could be anything - a memory leak in your code, a bug in
ASP.NET or CLR or simply too much load for the GC to handle.
I'd suggest that you read this article and try the troubleshooting
steps described in it:
Production Debugging for .NET Framework Applications
Debugging Memory Problems
http://msdn.microsoft.com/library/en-us/dnbda/html/DBGch02.asp?frame=true [quoted text, click to view] <ianstirkcv@yahoo.com> wrote:
> Hello,
>
> I wonder if you can please help.
>
> We are running a web application built using .net framework version
> 1.0, service pack 2, running on Windows 2000 server, service pack 3.
> The server has 1 gigabytes of RAM.
>
> We are using Perfmon to monitor memory usage of aspnet_wp.exe, CPU
> usage, and % time in the Garbage Collector.
>
> We run a test that involves processing 3 pages in a web application
> (these do some database access, remoting to a business object layer,
> and displaying some results). Astra LoadTest is used to simulate 15
> concurrent users, using the application for about 5 hours.
>
> The memoryLimit value in the Machine.config file has been set to
> "9999". This is because when it was set to 60% the aspnet_wp.exe
> recycled, resulting in lost of data.
>
> The PerfMon results show memory usage as follows:
>
> Start: 80M
> After 1 hour: 300M
> After 2 hours: 560M
> After 3 hours: 680M
> After 4 hours: 820M
> After 5 hours: 820M
>
> The results show that an increasing amount of memory is being used,
> until a threshold of about 820M is reached. At this point the memory
> seems to be getting reclaimed (both the Garbage Collector and CPU
> usage are more active).
>
> The Astra LoadTest tool shows that there response time for the pages
> progressively decreases from about 10 seconds to about 35 seconds.
>
> I have a picture of the PerfMon results if you want to see it (please
> email me for this).
>
>
> My questions are:
>
> Is this pattern of memory usage 'normal'? Does the amount of memory
> used increase until there is little remaining, so the Garbage
> Collector then has to do a lot of work?
>
> Is this a memory leak or not?
>
> Thanks
> Ian