Home All Groups Group Topic Archive Search About

ASP.NET and cache - just want to be sure

Author
11 Sep 2006 11:44 AM
SCG
Hi,

[sorry if this sounds familiar but just want ot be sure]

I have had a site running for 6 months now. This morning I started observing
the following behaviour pretty much out of the blue:

I load a blob of XML into the ASP.NET cache with a timeout of 15 mins, and a
callback set up to log the unload of the data.

Immediately (the same second), my callback gets driven with a reason code of
"Underused", which implies that ASP.NET is feeling memory-challenged.

But, Task Manager suggests that only 800Mb is being used out of 1Gb, and
nothing else (SQl Server etc.) seems to have reserved the extra 200Mb
memory.

Why is ASP.NET immediately throwing out my newly cached 200 bytes of data?

Is there any other setting I could be tweaking / monitoring to help tell me
why?

Thanks for any help.

Author
11 Sep 2006 12:06 PM
Karl Seguin [MVP]
80% of your total memory is a lot. By default, asp.net tries to limits
itself to 60% of the total available memory. I doubt that you'd want it to
go anymore than 80%...the O/S still needs to run, and the last thing you
want is any high amount of paging to the hdd.

You can specify a priority for your cache, but .NET generally knows better
how to manage memory than you do.

You can load up perfmon and look at some performance monitors, cache hits,
memory size.

You can get a memory profile and try to use up less than 800megs
(http://www.red-gate.com/products/ants_profiler/index.htm)

You can play with your machine.config's processModel section and increase
the maximum memory limit

Karl

Show quote
"SCG" <simon@myphones.comnosend> wrote in message
news:ei$eYeZ1GHA.4796@TK2MSFTNGP06.phx.gbl...
> Hi,
>
> [sorry if this sounds familiar but just want ot be sure]
>
> I have had a site running for 6 months now. This morning I started
> observing
> the following behaviour pretty much out of the blue:
>
> I load a blob of XML into the ASP.NET cache with a timeout of 15 mins, and
> a
> callback set up to log the unload of the data.
>
> Immediately (the same second), my callback gets driven with a reason code
> of
> "Underused", which implies that ASP.NET is feeling memory-challenged.
>
> But, Task Manager suggests that only 800Mb is being used out of 1Gb, and
> nothing else (SQl Server etc.) seems to have reserved the extra 200Mb
> memory.
>
> Why is ASP.NET immediately throwing out my newly cached 200 bytes of data?
>
> Is there any other setting I could be tweaking / monitoring to help tell
> me
> why?
>
> Thanks for any help.
>
>
Author
11 Sep 2006 12:46 PM
SCG
Sorry - I meant that Task Manager was showing me the *total* used memory -
not just for those processes using .NET.

So, I figured 800Mb was OK. What I could not / still cant understand is why
it's simply not using that 200Mb spare, and instead dumping my 200 bytes out
of cache with "Underused"...

....as though it can;t get to that last 200Mb (even though it's not been
reserved for SQLServer 2000 or such).

Thanks,
Simon.


"Karl Seguin [MVP]" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME
Show quote
net> wrote in message news:%23VB31qZ1GHA.4108@TK2MSFTNGP04.phx.gbl...
> 80% of your total memory is a lot. By default, asp.net tries to limits
> itself to 60% of the total available memory. I doubt that you'd want it to
> go anymore than 80%...the O/S still needs to run, and the last thing you
> want is any high amount of paging to the hdd.
>
> You can specify a priority for your cache, but .NET generally knows better
> how to manage memory than you do.
>
> You can load up perfmon and look at some performance monitors, cache hits,
> memory size.
>
> You can get a memory profile and try to use up less than 800megs
> (http://www.red-gate.com/products/ants_profiler/index.htm)
>
> You can play with your machine.config's processModel section and increase
> the maximum memory limit
>
> Karl
>
> --
> http://www.openmymind.net/
> http://www.codebetter.com/
>
>
> "SCG" <simon@myphones.comnosend> wrote in message
> news:ei$eYeZ1GHA.4796@TK2MSFTNGP06.phx.gbl...
>> Hi,
>>
>> [sorry if this sounds familiar but just want ot be sure]
>>
>> I have had a site running for 6 months now. This morning I started
>> observing
>> the following behaviour pretty much out of the blue:
>>
>> I load a blob of XML into the ASP.NET cache with a timeout of 15 mins,
>> and a
>> callback set up to log the unload of the data.
>>
>> Immediately (the same second), my callback gets driven with a reason code
>> of
>> "Underused", which implies that ASP.NET is feeling memory-challenged.
>>
>> But, Task Manager suggests that only 800Mb is being used out of 1Gb, and
>> nothing else (SQl Server etc.) seems to have reserved the extra 200Mb
>> memory.
>>
>> Why is ASP.NET immediately throwing out my newly cached 200 bytes of
>> data?
>>
>> Is there any other setting I could be tweaking / monitoring to help tell
>> me
>> why?
>>
>> Thanks for any help.
>>
>>
>
>
Author
11 Sep 2006 12:19 PM
Brennan Stehling
Also check the settings for your Application Pool.  Maybe it is not
giving you access to all of that memory.

Brennan Stehling
http://brennan.offwhite.net/blog/

SCG wrote:
Show quote
> Hi,
>
> [sorry if this sounds familiar but just want ot be sure]
>
> I have had a site running for 6 months now. This morning I started observing
> the following behaviour pretty much out of the blue:
>
> I load a blob of XML into the ASP.NET cache with a timeout of 15 mins, and a
> callback set up to log the unload of the data.
>
> Immediately (the same second), my callback gets driven with a reason code of
> "Underused", which implies that ASP.NET is feeling memory-challenged.
>
> But, Task Manager suggests that only 800Mb is being used out of 1Gb, and
> nothing else (SQl Server etc.) seems to have reserved the extra 200Mb
> memory.
>
> Why is ASP.NET immediately throwing out my newly cached 200 bytes of data?
>
> Is there any other setting I could be tweaking / monitoring to help tell me
> why?
>
> Thanks for any help.

AddThis Social Bookmark Button