You may experience a decrease in overall system performance when you are copying files that are larger than approximately 500 MB in Windows Server 2003 SP1 or in Windows Server 2003 SP2

Article translations Article translations
Article ID: 920739 - View products that this article applies to.
Expand all | Collapse all

On This Page

SYMPTOMS

When you copy files that are larger than approximately 500 MB on a computer that is running Microsoft Windows Server 2003 Service Pack 1 (SP1) or Windows Server 2003 Service Pack 2 (SP2), you may experience a decrease in overall system performance although the copy job is still running correctly.

Additionally, you may experience the following symptoms:
  • Your desktop and the programs that are running on the computer may stop responding.
  • The mouse may stop responding.
  • Working set of certain applications, such as SQL Server, may be trimmed or paged out.

CAUSE

This problem occurs when you copy large files locally from a fast disk to a slow disk. For example, this problem can occur when you copy large files from a cluster disk to local system disk.

The System Internals Cache Manager uses a variable that is named CcDirtyPageThreshold. By default, the value of CcDirtyPageThreshold may be set too high for scenarios where there are many lazy writes. By default, the CcDirtyPageThreshold global kernel variable is set to a value that is half of the physical memory. This variable triggers the cache manager's write throttles.

For example, if you are copying a file that is 1 GB, 500 MB of the file is copied to the cache before the Cache Manager starts flushing the dirty pages. Flushing 500 MB of dirty pages causes several page faults. These page faults must be committed to the disk. When this occurs, it can cause bottlenecks on slow disks.

Note A "dirty page" is a page that has been modified in the cache but has not yet been written to disk.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Windows Server 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
889100 How to obtain the latest service pack for Windows Server 2003

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

You must be running Windows Server 2003 SP1.

Restart requirement

You must restart your computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Windows Server 2003, Itanium-based version
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Ntkrnlmp.exe5.2.3790.28036,520,32028-Sep-200623:16IA-64
Windows Server 2003, x64-based version
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformSP requirement
Ntkrnlmp.exe5.2.3790.28034,627,96828-Sep-200623:22x64SP1
Ntoskrnl.exe5.2.3790.28034,483,07228-Sep-200623:22x64SP1
Windows Server 2003, x86-based version
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformSP requirement
Ntkrnlmp.exe5.2.3790.28032,459,64829-Sep-200611:22Not ApplicableSP1
Ntkrnlpa.exe5.2.3790.28032,271,74429-Sep-200610:49x86SP1
Ntkrpamp.exe5.2.3790.28032,311,68029-Sep-200610:50Not ApplicableSP1
Ntoskrnl.exe5.2.3790.28032,420,22429-Sep-200611:22x86SP1
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows


After you apply this fix or after you install Windows Server 2003 SP2, you must add the
SystemCacheDirtyPageThreshold
registry entry to change the default behavior. To do this, follow these steps:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then right-click the following registry key:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\MemoryManagement
  3. Point to New, and then click DWORD Value.
  4. Type SystemCacheDirtyPageThreshold, and then press ENTER.
  5. Double-click SystemCacheDirtyPageThreshold.
  6. In the Value data box, type 0x20, and then click OK.

    Notes
    • "0x20" corresponds to a decimal value of 32 MB.
    • The range of values for the SystemCacheDirtyPageThreshold registry entry are as follows:
      Minimum value: Total physical RAM in MB divided by 64
      Maximum value: Total physical RAM in MB divided by 2
      Default value: 0

      The default value is a nonexistent key. If you add values that are out of range, your computer will revert to the default behavior. The value that you add is measured in MB.
  7. Exit Registry Editor.

MORE INFORMATION

To verify that you are experiencing this problem, use the !defwrites command in the kernel debugger. This command displays the values of the kernel variables that the cache manager uses, and it displays the values of the threshold and of the actual dirty pages that are in the cache. When you run this command, you may receive output that resembles the following:
CcTotalDirtyPages: 14 (0 Kb)
CcDirtyPageThreshold: 130941 (0 Kb)
MmAvailablePages: 62445 (0 Kb)
MmThrottleTop: 450 (0 Kb)
MmThrottleBottom: 80 (0 Kb)
MmModifiedPageListHead.Total: 43 (0 Kb)
You may experience the problem that is described in this article if the CcTotalDirtyPages value is close to the CcDirtyPageThreshold value.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

This problem was first corrected in Microsoft Windows Server 2003 Service Pack 2.
Note You must manually enable the
SystemCacheDirtyPageThreshold
registry entry after you install Windows Server 2003 SP2.

MORE INFORMATION

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates

Properties

Article ID: 920739 - Last Review: October 9, 2011 - Revision: 6.0
APPLIES TO
  • Microsoft Windows Server 2003 Service Pack 1, when used with:
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003 Service Pack 2, when used with:
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
Keywords: 
kbautohotfix kbwinserv2003sp2fix kbwinserv2003presp2fix kbbug kbfix kbqfe KB920739

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com