Disk Performance May Degrade Over Time (263939)
The information in this article applies to:
- Microsoft Windows 2000 Advanced Server SP1
- Microsoft Windows 2000 Advanced Server SP2
- Microsoft Windows 2000 Professional SP1
- Microsoft Windows 2000 Professional SP2
- Microsoft Windows 2000 Server SP2
- Microsoft Windows 2000 Server SP1
This article was previously published under Q263939 SYMPTOMS
Disk input/output (I/O) throughput may degrade over time from the amount of time that it takes after you start your computer. After the throughput is degraded, the original disk performance is not recovered until you restart your computer again.
Note that this degradation in performance is distinct from the degradation that occurs when a disk becomes fragmented. Degraded performance that is caused by disk fragmentation is not recovered when you restart the computer. Also, this degradation in performance is observed most often on high-end disk subsystems that consist of multiple spindles in a Redundant Array of Inexpensive Disks (RAID) configuration.
CAUSE
This problem occurs because the Classpnp driver monitors disks for signs that they are under too much load. Internal indications of this type of load include a variety of errors that may be returned by lower level disk drivers. When these errors occur, Classpnp progressively disables performance features on the disk to avoid generating the errors. The algorithm that is used to decide when to throttle back these performance features does not allow for scenarios that may involve transient error conditions. Therefore, after a certain number of errors are accumulated, performance is deliberately throttled back and is not restored to normal until the next reboot. This can cause problems on computers that may experience very few disk errors but remain online for long periods of time because there is no provision for dynamically re-enabling performance features.
RESOLUTIONService Pack InformationTo resolve this problem, obtain the latest service pack for Microsoft Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
Hotfix InformationA supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Windows 2000 service pack that contains this hotfix. To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site: NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.
The English-language version of this fix should have the following file attributes or later:
Date Time Version Size File name
------------------------------------------------------
01-07-2002 17:44 5.0.2195.4809 27,952 Cdrom.sys
11-16-2001 10:23 5.0.2195.4643 34,416 Classpnp.sys
04-27-2002 13:10 5.0.2195.5690 29,744 Disk.sys
09-11-2001 17:06 5.0.2195.4326 24,336 Scsikd.dll
09-11-2001 17:06 5.0.2195.4326 11,632 Scsiprnt.sys
01-11-2002 15:06 5.0.2195.4826 10,384 Sfloppy.sys
02-21-2002 11:45 5.0.2195.4956 10,768 Tape.sys
The following file is included with the package but is not installed as part of the patch because it is only needed for purposes of kernel debugging. It is not a required part of the hotfix and need not be installed on a system in order for that system to function correctly or to be debugged.
Date Time Version Size File name
---------------------------------------------------------
09/11/2001 05:06 PM 5.0.2195.4326 24,336 Scsikd.dll
WORKAROUND
To work around this problem on computers that do not have this fix installed, restart the computer.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft Windows 2000 Service Pack 4.MORE INFORMATION
The list of errors that can result in throttled performance include the following SCSI Request Block (SRB) status codes (note that these codes are of interest primarily to driver developers):
SRB_STATUS_COMMAND_TIMEOUT
SRB_STATUS_ABORTED
SRB_STATUS_TIMEOUT
SRB_STATUS_PHASE_SEQUENCE_FAILURE
SRB_STATUS_UNEXPECTED_BUS_FREE
SRB_STATUS_PARITY_ERROR
SRB_STATUS_ERROR
When the total count of any of the above errors reaches four, Classpnp throttles performance by clearing the following flags
SRB_FLAGS_NO_QUEUE_FREEZE
SRB_FLAGS_QUEUE_ACTION_ENABLE
and setting the following flag:
SRB_FLAGS_DISABLE_SYNCH_TRANSFER
When the accumulated error count reaches eight, Classpnp sets the following flag:
SRB_FLAGS_DISABLE_DISCONNECT
The fix for this issue changes the behavior of Classpnp so that it successively re-enables the performance flags after a certain amount of successful I/O. After successfully completing 1 megabyte (MB) of I/O, the driver backs off to the next lower-level of throttling until the computer is back to the original state. The amount of time that is required to back off, therefore, depends on how much disk activity is occurring. The typical case is that there is a combination of successful and unsuccessful I/Os during the transition periods (normal, degraded and degraded, normal), so the computer flips between throttled and running free several times before settling in on the best performance features. For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the article number below
to view the article in the Microsoft Knowledge Base:
265173 The Datacenter Program and Windows 2000 Datacenter Server Product
For additional information about how to install multiple hotfixes with only one reboot, click the article number below
to view the article in the Microsoft Knowledge Base:
296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot
For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below
to view the article in the Microsoft Knowledge Base:
249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes
Modification Type: | Minor | Last Reviewed: | 10/7/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbQFE kbWin2kSP4fix kbbug kbenv kbfix kbOSWin2000fix kbWin2000preSP4Fix KB263939 |
---|
|