Why is there still free cache?

FAQ, getting help, user experience about PrimoCache
Post Reply
Axel Mertes
Level 9
Level 9
Posts: 184
Joined: Thu Feb 03, 2011 3:22 pm

Why is there still free cache?

Post by Axel Mertes »

Hi Romex Software Team,

I wonder why we see still free L2 cache even after many days of running PrimoCache and reading and writing terabytes of data:

Image

Image

Does the cache algorithm automatically free up space after a given time?

I would have expected that it uses all available cache blocks and begins overwriting them, once the cache is fully filled and new requests can't be handled without overwriting the least used cache blocks.

How can that be?

There are only two causes that come to my mind that might cause this:

a) Even if we have written several TBytes of data and read even more TBytes of data, it seems we have only affect e.g. 600 GBytes of the disk in total, overwriting old blocks over and over - resulting in no more than e.g. 600 GBytes of cache being required, even if there is 2 TBytes of cache available.

b) The cache algorithm drops blocks from caching after a given time.

With the stress we do to our project drive I won't really believe in a) but b) also sounds so strange from a programming perspective.
One of the reasons I don't really believe in a) is also that I run space defragmentation at least once a day on the entire volume, moving around 500+ GBytes/day on average. Defragmentation runs hell fast due to SSD caching. I know its causing extra wear on the SSD, but thats no problem for us.

Any other explaination?



And why can the "Total Write (Done)" be bigger than the "Total Write (Req)" ???
I've seen this a bunch of times and wonder why...?
User avatar
Support
Support Team
Support Team
Posts: 3731
Joined: Sun Dec 21, 2008 2:42 am

Re: Why is there still free cache?

Post by Support »

When you overwrite/update old data blocks which were cached by level-2 storage, PrimoCache will drop them from the level-2 storage as these data become outdated. Next time if new data is read, PrimoCache will fetch them into level-2 storage again.
Axel Mertes wrote:And why can the "Total Write (Done)" be bigger than the "Total Write (Req)" ???I've seen this a bunch of times and wonder why...?
Please see #007 in the link viewtopic.php?f=34&t=2174
Post Reply