By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,423 Members | 1,601 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,423 IT Pros & Developers. It's quick & easy.

ASP.NET and cache - just want to be sure

P: n/a
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.
Sep 11 '06 #1
Share this Question
Share on Google+
4 Replies


P: n/a
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/ant...iler/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" <si***@myphones.comnosendwrote in message
news:ei**************@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.


Sep 11 '06 #2

P: n/a
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:
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.
Sep 11 '06 #3

P: n/a
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
netwrote in message news:%2****************@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/ant...iler/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" <si***@myphones.comnosendwrote in message
news:ei**************@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.



Sep 11 '06 #4

P: n/a
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/

SCG wrote:
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
netwrote in message news:%2****************@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/ant...iler/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" <si***@myphones.comnosendwrote in message
news:ei**************@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.

Sep 12 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.