ASP.NET and cache - just want to be sure

S

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.
 
K

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
 
S

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
net> wrote in message news:%[email protected]...
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 said:
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.
 
B

Brennan Stehling

I do not believe the way the Cache works is documented. I have not
seen it anywhere. What would be useful is a metric on the total memory
held in the Cache. I am not aware of how that can be done without a
profiler.

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


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
net> wrote in message news:%[email protected]...
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 said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top