Windows, NT Cache Manager - Molly Brown
- Posted: Apr 19, 2005 at 12:10 PM
- 54,788 Views
- 14 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
I don't understand this. My hope is that it is not offensive.
C
Why am I getting flashbacks of Debbie Reynolds singing "Belly up to the Bar, Boys"...
I record programs off digital TV, they come in at about 1.4Gb an hour. Just transfering one of these to my networked storage means a lot of my applications page themselves out in favour of the file cache. I don't care if it takes an extra 5 minutes to transfer the file, I'd prefer to keep the programs responsive.
See this discussed before on Larrys blog.
http://blogs.msdn.com/larryosterman/archive/2005/03/25/402314.aspx#403814
To me this is one of the major causes of the occasional unresponsive feel of windows, the other is the freeze ups when browsing for network resources with explorer.
Does watching these videos count as doing revision for my Operating Systems exam next month?
Actually that behaviour of swapping out apps to grow the filecache on XP is wrong in desktop mode IMO. A page allocated to a foreground app should be regarded as 5 to 10 times more important than disk cache pages. XP is way too happy about paging applications. I have 1Gb of RAM and never use more than about 5-600Mb and yet applications are getting swapped. I can only imagine the cache manager is wanting to use more than what's left but how much is a 10-20% increase in cache size going to improve performance compared to waiting a minute for outlook to page back in when I switch back to it?
PS isn't it about time that we summise how all these various teams are building longhorn...it isn't just Avalon, the kernel team seems fixated. In the virtual server disks they were coy about their whiteboards and longhorn..leads me to suspect that some of their work is going into longhorn too...undo disks, or something along that architectural path.
Wow long rant
Drex
The author of the musical - Meredith Willson - also wrote another musical called "The Music Man", which was made into a movie starring Shirley Jones and little "Ronnie Howard" (as he was then credited)
BTW, Does anyone knows where to find more about the Longhorn kernel improvements like the one Molly mentioned?
Raptor
In time. In time
C
My guess is that you will find info about kernel improvements in Longhorn over at http://www.sysinternals.com. Mark Russinovich and David Solomon wrote a summary article of the kernel improvements in Windows XP (http://msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/default.aspx) earlier. And of course they have written the definitive guide to the Windows Kernel: "Inside Windows 2000"(http://www.sysinternals.com/insidew2k.shtml).

But it seems that Charles have got something more about the future of the Windows kernel. Looking forward to that
You will always see that 'current size' reported by !filecache is smaller than Task Manager's "System Cache" counter. That's because the System Cache counter includes, IIRC, the complete size of all standby and modified lists in the system, regardless of which working set they belonged to. It is true that, in effect, this is cached data - it takes only a single page fault and setting the PTE in the page fault handler to add it back to the working set, rather than having to go out to the disk (a soft fault rather than a hard fault). Again, IIRC, System Cache is actually the system working set size and also includes the current physical size of pageable system and driver code, and paged pool (system- and driver-allocated data that is not needed at high IRQLs).
I believe the standby and modified lists are actually double-counted, being also counted in the Available counter in Task Manager. That might explain why, on this 1GB machine, I apparently have 527,600KB Available and 584,640KB System Cache. !filecache reports a current size of 116,228KB.
What's puzzling me is why NTFS's transaction log ($LogFile) is being reported as having 28,064KB on Standby or Modified lists, making it the third-biggest consumer of file cache (after the master file table, $Mft, and the Software registry hive). Surely NTFS isn't going to need to re-read log data once it's committed to disk?
(It's understandable that $Mft is the largest user of cache once you realise that small files and directories are kept as resident attributes in their Master File Table record. This effectively hides those small files from the cache manager, which is a good thing, as the cache manager can only map multiples of 256KB blocks.)
(It's also understandable that the Software hive is the second largest user, as it's being accessed all the time by Explorer and by applications. XP and 2003, IIRC, use the cache directly - there is no other copy of the hive data in memory.)
Not a system-level developer, just interested! This information is from my recall of Windows Internals, 4th Edition (the updated version of "Inside Windows 2000").
A pun I believe:
http://www.debbiereynoldsonline.com/mollybrown.htm
how could a filesystem handle if the user opens one file twice and modify data, and will save the data at the same time? does fileobject 2 not override the content of fileobject 1 if you close it at the same time? maybe its a good idea to save the sector of the FAT into the RAM if the user opens a file...?
e.g. http://blogs.msdn.com/psssql/archive/2008/07/10/sql-server-reports-operating-system-error-1450-or-1452-or-665-retries.aspx
We need a complete list of the API that can get this error, and a pattern for dealing with them.
Remove this comment
Remove this thread
close