Article ID: 920739
Article Last Modified on 11/30/2007
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)
Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify 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 XP and Windows Vista
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.
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
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
File name | File version | File size | Date | Time | Platform |
---|---|---|---|---|---|
Ntkrnlmp.exe | 5.2.3790.2803 | 6,520,320 | 28-Sep-2006 | 23:16 | IA-64 |
Windows Server 2003, x64-based version
File name | File version | File size | Date | Time | Platform | SP requirement |
---|---|---|---|---|---|---|
Ntkrnlmp.exe | 5.2.3790.2803 | 4,627,968 | 28-Sep-2006 | 23:22 | x64 | SP1 |
Ntoskrnl.exe | 5.2.3790.2803 | 4,483,072 | 28-Sep-2006 | 23:22 | x64 | SP1 |
Windows Server 2003, x86-based version
File name | File version | File size | Date | Time | Platform | SP requirement |
---|---|---|---|---|---|---|
Ntkrnlmp.exe | 5.2.3790.2803 | 2,459,648 | 29-Sep-2006 | 11:22 | Not Applicable | SP1 |
Ntkrnlpa.exe | 5.2.3790.2803 | 2,271,744 | 29-Sep-2006 | 10:49 | x86 | SP1 |
Ntkrpamp.exe | 5.2.3790.2803 | 2,311,680 | 29-Sep-2006 | 10:50 | Not Applicable | SP1 |
Ntoskrnl.exe | 5.2.3790.2803 | 2,420,224 | 29-Sep-2006 | 11:22 | x86 | SP1 |
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
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:
- Click Start, click Run, type regedit, and then click OK.
- Locate and then right-click the following registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\MemoryManagement
- Point to New, and then click DWORD Value.
- Type SystemCacheDirtyPageThreshold, and then press ENTER.
- Double-click SystemCacheDirtyPageThreshold.
- 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.
- 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:
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
Keywords: kbwinserv2003sp2fix kbwinserv2003presp2fix kbbug kbfix kbhotfixserver kbqfe kbpubtypekc KB920739