File operations on Windows NT based systems make use of a limited pool of kernel buffers. This may slow down or even bring to a halt file operations on Windows if the buffers are filled up so that they, for the the time being, cannot accept new file operations.
The memory usage of the buffers can be increased from an elevated command line prompt or the Windows Registry.
It in theory speeds up situations where many file operations need to be performed quickly, useful in every situation with an increased number of read write operations.
Changing the setting will increase the paged and non-paged memory usage of the buffers which indicates that this tweak should only be used if enough spare system memory is available on the PC.
Microsoft TechNet offers the following description of the memoryusage value:
Configures the internal cache levels of NTFS paged pool and NTFS non-paged pool memory. Set to 1 or 2. When set to 1 (the default), NTFS uses the default amount of paged pool memory. When set to 2, NTFS increases the size of its lookaside lists and memory thresholds. A lookaside list is a pool of fixed-size kernel memory buffers that the kernel and device drivers create as private memory caches for file system operations, such as reading a file.
Increasing Memory Usage via the command line
An elevated command prompt is required for this operation. Click start, then All Programs, locate Accessories, right-click Command Prompt in the listing and select to Run As Administrator.
You may alternatively hit the Windows key, type cmd, right-click on the cmd.exe result and select "run as administrator" from the menu instead.
Run the following command to increase the limit of paged pool memory:
fsutil behavior set memoryusage 2
Windows will return the new value in the same command prompt.
Windows users who would like to restore the old setting can run the following command instead:
fsutil behavior set memoryusage 1
Increasing Memory Usage via the Windows Registry:
Open the Windows Registry Editor by either clicking on Start again and typing in regedit in the run box or by pressing Windows-R and typing in regedit in the opening run dialog window.
Navigate to the following Registry key:
Locate the entry NtfsMemoryUsage in the right window. Three possible values can be set:
- Not Set: 0
- Default: 1
- Increased: 2
A restart of the computer system is required before the change will take effect, regardless whether it has been applied to the Registry or the command line.
It is probably a good idea to test the system in real-life situations after the restart to see if the speed gains are noticeable and verify that it continues to run stable.
This setting should be available on all Windows NT based systems. We have verified that it is available in Windows Vista, Windows 7 and the Windows Server line. Would be nice if Windows XP users could see if it is also available in that operating system.
: The same method works in newer versions of Windows, such as Windows 8 and 10, as well.