Sunday, September 17, 2006

Tweaking Windows Server LargeSystemCache

LargeSystemCache determines whether Windows 2000 Server should maintains a standard size or a large size file system cache, and influences how often the system writes changed pages back to hard disk.

Increasing the size of the file system cache generally improves server performance, but it reduces physical memory space available to applications and services. In addition, writing system data less frequently minimizes use of the kernel disk subsystem, but the changed pages occupy memory that might otherwise be used by applications.

LargeSystemCache is DWORD registry data type that could be located at registry path

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Setting LargeSystemCache to 1 (system default)

Establishes a large system cache working set that can expand to physical memory, minus 4 MB, if needed. The system allows changed pages to remain in physical memory until the number of available pages drops to approximately 250. This setting is recommended for most computers running Windows 2000 Server as file server on large networks.

Setting LargeSystemCache to 0

Establishes a standard size file system cache of approximately 8 MB. The system allows changed pages to remain in physical memory until the number of available pages drops to approximately 1,000. This setting is recommended for servers running applications that do their own memory caching, such as Microsoft SQL Server, and for applications that perform best with ample memory, such as Internet Information Services web server.

Other than access to registry via regedit.exe and edit directly, alternative method to tweak LargeSystemCache is by

  1. accessing to the Server Optimization tab in Network And Dial-up Connections,
  2. right-click My Network Places,
  3. click Properties,
  4. right-click Local Area Connection,
  5. click Properties,
  6. click File And Printer Sharing For Microsoft Networks,
  7. and then click the Properties button,
  8. to set the LargeSystemCache to 0, select the Maximize Data Throughput For Network Applications option,
  9. to set the LargeSystemCache to 1, select Maximize Data Throughput For File Sharing.
The default setup of Windows 2000 Server initialize LargeSystemCache to 1 which is ideal when running as file server. However, setting LargeSystemCache to 1 can degrade service performance. As such, it is not appropriate when running as application servers such as Web server, SQL server, Exchange server. In this case, reset LargeSystemCache to 0 by selecting the Maximize Data Throughput For Network Applications option in Network And Dial-up Connections.

This article has 1 comments.

lmiller7 said...

The bottom line is this:
This is for file servers only.
If you are running Windows2000, XP, or Vista as a workstation or for gaming this is almost certainly going to be a bad thing.

This setting can be dangerous with some common hardware configurations. Some users have reported severe performance problems, system instability, and data corruption. It is deadly with some common video cards and other devices.

If you are running your system primarily as a server then you should thoroughly investigate the implications and potential risks. This setting is NOT for general use.

References:
http://support.microsoft.com/kb/895932

Larry Miller
Microsoft MCSA