CacheAmountOfObjects

Topics: Developer Forum, User Forum
Mar 25, 2008 at 8:06 PM
Hello World !!

After I create the issue #5805, I´m now playing with some parameters of Indexus, one of then is CacheAmountOfObjects.

In my understanding it represents the MAXIMUM size of memory used to cache objects, in megabytes.
But in my test, the same test of issue #5805, with only CacheAmountOfObjects different of that config file(value 200, instead of 1500), I see the process use more then 1gb of memory, and sometime later(about 30seconds, as ServiceCacheCleanupThreadJob specify) the memory goes down to ~300mb.

What´s wrong?


Jackson
Mar 26, 2008 at 1:02 AM
hi jackson,

let me clarify some details. first of all it's quite depends which parameters you have used for this test option 200.

In general we have investigated a lot of time around memory management and our conclusion after several dozen of emails, tireless discussions and some tests we have written - we let CLR fully be responsible to manage memory. This means we could call some methods to force CLR to clear data immediately after you delete an item and even in this case it takes some seconds but the real pain is simple: GC.Forcexxx() is very expensive and slows down the whole system.

if you handle very big objects then maybe you should checkout to use a different cleanup algorithm LRU.

regards,
roni