I have completed The Windows 7 Freeware Machine article. I will attempt to revise the XP and Vista versions in the next week.
This Site
NtfsMemoryUsage=2 Tweak
Testing the NtfsMemoryUsage Tweak
There have been a number of sites and forum posts listing this tweak. Lately this tweak seems to be mentioned as an SSD tweak. This tweak or rather the registry setting, has almost no documentation which makes me a little suspicious.
The tweak: NtfsMemoryUsage=2
Often listed as a way to “increase the file system memory cache size”.
Registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
Change the following value from 0 to 2: NtfsMemoryUsage=2
or sometimes seen as the following command: ” fsutil behavior set memoryusage 2 ”
Documentation: The only official Microsoft documentation I can find on this is:
Fsutil behavior & Fsutil behavior.
Now, the first clue you should see here is that both the above links reference Windows Server (as in not XP, Vista, or 7). It makes me more than a little suspicious.
Although mentioned in the links above the ntfsmemoryusage tweak is noticeably absent from the Performance Tuning Guidelines for Windows Server 2008 whitepaper even though it mentions the Disablelastaccess & NtfsDisable8dot3NameCreation. Now I’m really beginning to question the value of this tweak.
What the tweak does (taken from the above 2 links):
“When set to 2, NTFS increases the size of its lookaside lists and memory thresholds.”
&
“Increasing physical memory does not always increase the amount of paged pool memory available to NTFS. Setting memoryusage to 2 raises the limit of paged pool memory. This might improve performance if your system is opening and closing many files in the same file set and is not already using large amounts of system memory for other applications or for cache memory.”
Let’s take a step back.
Paged pool memory is memory that can be swapped out of memory and paged to disk.
The limit for 32-bit Vista and 7 is 2GB, and “four times the nonpaged pool limit or 128GB, whichever is smaller” for 64-bit. So I’m not sure what you stand to gain if anything by using the tweak.
(See: Pushing the Limits of Windows: Paged and Nonpaged Pool for more info on this topic.)
Let’s keep reading.
“If your computer is already using large amounts of system memory for other applications or for cache memory, increasing the limit of NTFS paged and non-paged pool memory reduces the available pool memory for other processes. This might reduce overall system performance. This parameter updates the HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsMemoryUsage registry key.”
So, if I actually use my computer for something other than say, surfing the web, this tweak may actually hurt my performance? That doesn’t sound good.
Looks like this needs a little more investigation. *Sigh*, time to do some investigating and maybe break out the benchmark tools.
A View From Task Manager:
Well, OK. Nothing much to see there.
Next I’m going to get a little advanced. I will use Process Explorer & Debugging Tools for Windows to look at memory use.
Well heck, nothing much to see there either.
Next, I’ll try a tool called Driver Verifier. I’m going to query the ntfs.sys driver.
As you can see, there is no real difference with or without the tweak.
Let’s see if putting a heavy load on the computer will make a difference. I’m going to run PCMark Vantage, while under the debugger, and Driver Verifier querying ntfs.sys. That should put a very heavy load on the computer.
No difference here either.
OK, now let’s see what AS SSD Benchmark says:
Again, no difference.
Conclusion
Everything I have tested has shown this tweak as having no effect at all.
My conclusion based on what little documentation is available and after running the aforementioned tests is:
For a PC this tweak is useless.
Postscript
After doing all this testing and writing this article something was nagging at me. The Ntfsmemoryusage key exists in the registry by default and Microsoft lists the options for this key. Yet, making changes to this key made absolutely no difference. I thought, “I’ve got to be missing something.” I kept going over my notes. I can’t see where I’ve missed anything. I need some input. I’ve always said I’m no Windows expert, but I do follow the works of some folks who are. So I sent an email out to a couple of people who know way more about the guts of Windows than I ever will, people that I highly respect. I don’t know either of them but I thought I would give it a shot. The email contained a link to the unpublished version of this article.
Only one of the two responded. Rafael Rivera of WithinWindows.com. Here is his reply:
“That registry value is only referenced in fsutil.exe. It is not referenced in any other system binary within Windows 7, meaning the value is purely there for compatibility reasons (otherwise does nothing). Increases in performance are purely imagined. You can quote me 😉” Rafael Rivera
So there you have it.
The purpose of the extended length of this post is to show you the kinds of steps I take to investigate a tweak.
This “tweak” will be added to the Tweaking Windows 7, Bad Tweaks section.
*Edit – 12DEC09 Just to be clear, this information applies to Windows 7.
Got a comment? Did I miss something? Give me a shout.
Windows 7 Superfetch
I’m about 2/3 of the way done with writing the Windows 7 tweak guide. I’ve come across an issue that I need some help with. It applies to SSD’s. During my research I found these 2 statements:
“In Windows 7, SuperFetch is automatically enabled for disks that have a low Windows Experience Disk Score and disabled for disks that have a high score.”
Performance Testing Guide for Windows
and
“If the system disk is an SSD, and the SSD performs adequately on random reads and doesn’t have glaring performance issues with random writes or flushes, then Superfetch, boot prefetching, application launch prefetching, ReadyBoost and ReadDrive will all be disabled.” Engineering Windows 7 – Support and Q&A for Solid-State Drives
One problem with the above 2 statements. I have an SSD disk (specifically the Intel X25-M Generation 2). My Windows Experience score for Primary hard disk is 7.7 (out a possible 7.9). This was a clean install to this disk, not a clone or image. According to the above statements Windows 7 should have disabled Superfetch. Windows 7 did not disable the service nor adjust the registry settings. It is visable via Task Manager (SysMain) and is actively using system resources.
I’m interested if anyone has had Windows 7 disable this as they claim.
I would also like to know what qualifies as a high “Windows Experience Disk Score” according to Microsoft. (not really expecting an answer on this)
Installing Windows 7
I’ve completed my guide on Installing Windows 7 . I hope you find it useful.
I have also begun work on the Windows 7 page. I could really use some good links for this page if you have any.
Some you have asked if I’m working on a Windows 7 Tweak Guide. Of course I am. It will be a bit different than previous tweak guides.The first reason for that is that Windows 7 needs far less performance tuning than Vista and XP (but there are some tweaks here and there). The second reason is that there are a ton of new features in Windows 7. While I will show you how to turn some of these off, I hope to explain why these features may just help you get things done faster and to tweak the features to your needs. Writing, researching, testing, and double-checking all this does take a considerable amount of time though. I do not know if it will be ready by the launch date or not (Oct. 22nd) but I’m trying.