Question

Is there any way to find the number of bytes of memory that are currently in the HttpContext.Cache?

I've found where you can get the physical memory limit using EffectivePrivateBytesLimit or EffectivePercentagePhysicalMemoryLimit, but I'm having difficulties finding the current physical memory usage.

Any ideas ?

---UPDATE---

Afer some more searching and using the first response mentioning http://aspalliance.com/cachemanager/ i went to that page, at the bottom there is a link to http://www.codeproject.com/aspnet/exploresessionandcache.asp that describes a method to calculate the size of an object that i think will be good enough to use.

Basically it serializes each object in the cache then it then finds the length of the serialized stream. Summing these values results in some information i can use.

Was it helpful?

Solution

There is a third-party "Cache Manager" which provides tools and stats for the HttpRuntime cache. You can get memory info there manually, or you can use Reflector to peek inside the assembly and see how it collects the stats, and do it yourself in your app

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top