BUG: Internet Explorer Loses Track of Cache's Size |
After Internet Explorer 5 was released, I let it manage the cache on its own for a few months to see how well it performed. So please note that everything in this paragraph implies use of IE without using CacheSentry, and any settings referred to are IE's settings, not CacheSentry's. One of the things I noticed after a little while was downloading large files (around 10-25 megabytes) would cause IE5 to start removing files from the cache long before it became full. I checked for strays and found none, and clearing the cache didn't fix the problem. The only way I was able to fix it was to delete the index file that keeps track of the cache's contents, so I knew it had to be a problem with that file. Further investigation revealed IE5 (and possibly IE4) have a problem with keeping track of how much space the files in the cache are actually taking up. There is a place in the INDEX.DAT file (the cache's index to the files) that stores a 64-bit value of what IE thinks is the cache's current size. It compares this value to the size you have set IE's cache to grow to, and if this value is larger than your setting, IE makes room in the cache. If this value is wrong and is too high, IE will think the cache is full before it actually is and you won't make full use of the size to which you have set your cache. If the value is too low, the cache will grow larger than the size you have set it.
Now, how does this bug affect CacheSentry? As you might guess, this is mostly only an issue if you are letting IE manage the cache itself - with CacheSentry this usually isn't a problem because CacheSentry always recalculates the actual size of the cache every time it checks see if it needs to make more room. However, this isn't foolproof - if IE thinks the cache has grown larger than the maximum value you can set for IE's cache, IE will again take control of cache deletions and render CacheSentry ineffective! The newer versions of CacheSentry fix this bug by changing the size value in the INDEX.DAT file to the correct value.
If you are still using IE 3, you don't have this bug, and turning this bugfix feature on will have no effect.
IE 5.5 through IE 6 also have this bug, but it appears to happen more slowly than with previous versions of IE that have this bug.