With every release of a new operating system come new demands and Windows Vista is by large no exception to this rule. There are several relevant components to the Windows memory subsystem. In this guide we will put special emphasis on the hard drive, processor and RAM, taking you through a variety of settings to optimally configure these and hopefully end up with an overall smoother running system.

Note: Most of the information and setting modifications covered here will require Administrative privileges.

Troubleshooting

For starters, it's always good practice making sure you have the latest Vista updates installed. For the purpose of this guide this is important as in many instances they may fix memory related issues, e.g. memory leaks, not releasing memory, etc. You can find and download relevant Vista updates using the built-in Windows Update, while hardware driver updates can be found at TechSpot Drivers. For application-specific updates check the developer/application site or use any built-in auto-update facility.

Registry Options

The System Registry contains several settings which will allow to further configure memory management features in Windows Vista. Used properly this can further improve your PC's memory subsystem performance - there are also several placebos we need to clear up as well.

To access the Registry click on Start, Run. Type in regedit and click Ok. Navigate to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management].

The options we are interested in are in the right hand pane.
To edit any entry simply double click on it or right click on the entry and select Modify. In parenthesis I'll cover which format the Data is to be changed in.

The more relevant options are as follows:

ClearPageFileAtShutdown. (Hexadecimal or Decimal). This setting allows inactive Pages in the Paging File to be cleared (overwritten with zeros) during shutdown. This is certainly worth considering if you're highly security conscious.

  • When set to 0 (Default) inactive Pages are not written with zeros having no effect on shutdown time and making Page File data readable (this is recommended and certainly safe for home users).
  • A value of 1 enables inactive Pages to be cleared during shutdown, which is useful from a security viewpoint. You can expect shutdown times to increase as a result; this is more appropriate in a business environment.

DisablePagingExecutive. (Hexadecimal or Decimal). This setting controls how inactive kernel-mode drivers and system code are handled by the memory subsystem.

  • A value of 0 (Default) specifies that inactive kernel-mode drivers and system code can be released from RAM and paged to the Page File.
  • A value of 1 specifies that inactive kernel-mode drivers and system code be retained in RAM.

It's worth considering that any performance benefit to this feature will only occur when restoring a process which had been paged out to the Page File. As such I would generally recommend setting this to 0, but if RAM availability is not an issue then a value of 1 may provide improved responsiveness when restoring applications that has been inactive for some time.

LargeSystemCache. (Hexadecimal or Decimal). This setting controls the size of the file system cache.

  • When set to 0 (Default) a standard sized file system cache is allocated (Less than 10MB RAM); this is recommended as it provides best Application performance.
  • When set to 1 this enables the use of a large file system cache (up to total RAM amount minus 4MB!); this option is only suitable when Windows Vista is acting as a Server not as a gaming system or for other workstation use as it will be detrimental to performance as Microsoft notes:
When you enable System cache mode on a computer that uses Unified Memory Architecture-based video hardware or AGP, you may experience a severe and random decrease in performance. The Drivers for these components consume a large part of the remaining application memory when they are initialized during startup.