System Cache

U

Uwe Sieber

John said:

CacheSet can set the file cache's working set when you click
on the button. It's no permanent limit as with the new
SetSystemFileCacheSize, the working set can grow then again.
Based upon CacheSet I had made a tool some years ago which trims
the working set periodically:
http://www.uwe-sieber.de/ntcacheset_e.html
But thanks for the link because with CacheSet you can see
that SetSystemFileCacheSize works as expected.

Here is my little tool I promised:
http://www.uwe-sieber.de/files/setsystemfilecachesize.zip

As mentioned it works under W2K3 SP1 and Vista only.


Uwe
 
E

Edwin vMierlo

Manfred,

I need to jump in here

1) do not use the counter in Task Manager for referring to system cache,
unless you fully understand how this counter is constructed. I would like to
recommend reading chapter 7 of the book "Windows Internals" (comes with the
resource kit for server 2003)

2) your claims about "file system cache" on disk is complete RUBBISH. With
all respect, this is not true. There is no "file system cache" on disk... it
is in memory. Again same chapter, same book will explain.

With all respect, stop posting stuff about "file system cache" on disk.
I will now stop watching and responding to this thread.

Thank you,
Edwin.
 
U

Uwe Sieber

Uwe said:
CacheSet can set the file cache's working set when you click
on the button. It's no permanent limit as with the new
SetSystemFileCacheSize, the working set can grow then again.
Based upon CacheSet I had made a tool some years ago which trims
the working set periodically:
http://www.uwe-sieber.de/ntcacheset_e.html
But thanks for the link because with CacheSet you can see
that SetSystemFileCacheSize works as expected.


Hmm. I read the CacheSet docs again. Now I think that it's
possible that SetSystemFileCacheSize is not more than a
Win32 function that wraps the NT API functions used by
CacheSet. In this case SetSystemFileCacheSize is not better
than CacheSet and I made my litte tool in vain.

Uwe
 
M

Manfred Senn

Hello Edwin,

thank you for replying. I will read this book.
I only wrote what I was teached in the training!

Manfred
 
J

John John

Uwe said:
Hmm. I read the CacheSet docs again. Now I think that it's
possible that SetSystemFileCacheSize is not more than a
Win32 function that wraps the NT API functions used by
CacheSet. In this case SetSystemFileCacheSize is not better
than CacheSet and I made my litte tool in vain.

Lol. These things happen. I think the Sysinternal CacheSet works with
all NT versions not just Server 2003 and Vista. The strange thing is
that with almost anything Windows everything is picked apart by all the
experts and non experts alike and almost all flaws and warts are usually
discovered and exposed in a somewhat timely manner. I find it hard to
believe that if an important bug like this was such a prevalent problem
that the experts would have not blown the whistle a long time ago and
that Microsoft would have been able to keep this a "secret".

This problem was first reported in the early NT4 days and apparently was
"supposed" to have been fixed with Service Pack 4 or 5. Surely with the
subsequent releases of other NT4 service packs and then all other
Windows versions up to Vista, Microsoft should have by now fixed such an
important problem. But then Microsoft sometimes says that it fixed
problems when actually little changes. Microsoft's advice when
commenting on System Cache and performance has always been to add more
RAM, not to limit it to something like 256MB. Here is an interesting
read on the subject:

http://attrition.org/security/denial/w/ntfilec.dos.html

And this detached thread is an interesting bit on the same subject:
http://www.rage3d.com/board/showthread.php?s=&threadid=33658212&highlight=delay+write+failure>

That is an interesting post that may explain some of the reasons for the
often missing or damaged registry hives problem or damaged file system
and accompanying BSOD at boot up. This busted hive problem and the
often damaged files system seems to me to be too frequent without an
underlying cause, for quite a while now I have thought that the XP NTFS
version was inherently flawed but have never once said so because that
is just a gut feeling that I have, I cannot find information to
substantiate that. I find it a bit far fetched that a perfectly good
registry set or file system on a properly shutdown computer should be
completely scrambled without any good reason on the next boot! Few
things have been conclusively answered in this thread but interesting
questions have been raised.

John
 
J

John John

Either you were half asleep when that lesson was given or your teacher
needs to go back to school! The whole notion of having the file system
cache on the hard disc defeats the purpose of the file system cache,
which is speeding up file access by bypassing slow disc access!

John
 
M

Manfred Senn

Please, wise men tell me why the system cache can be larger than the amount
of free RAM?

Manfred
 
J

John John

Did you think about that for two seconds before you posted? You told us
earlier that the cache was "80% of the RAM", wouldn't that leave 20% for
other things, including free RAM? That 80% figure is yours, not mine.
I don't know for sure how the cache area/size is calculated. You might
want to read these:

Chapter 15 - Detecting Cache Bottlenecks
http://www.microsoft.com/technet/archive/ntwrkstn/reskit/07cache.mspx?mfr=true

File Cache Performance and Tuning
http://www.microsoft.com/technet/prodtechnol/windows2000serv/maintain/optimize/wperfch7.mspx

Inside the Cache Manager
http://www.windowsitpro.com/Articles/Index.cfm?IssueID=60&ArticleID=3864
(Subscription required)

John
 
U

Uwe Sieber

John said:
Lol. These things happen. I think the Sysinternal CacheSet works with
all NT versions not just Server 2003 and Vista.

Just had a chance to test it under Windows 2003 Server SP1:

The functions used by CacheSet seem to a on time set of the file cache's
working set as expected but SetSystemFileCacheSize really establishes a
permanent limit.

Reading a file doesn't seem to grow the cache's working set under XP SP2
and W2K3 SP1. A reliable way to blow up the cache's working set is to
let Nero 6 burn into an image file. Further tests required...


Uwe
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top