Windows NT Nonresponsive During NTFS Directory TraversalLast reviewed: March 6, 1998Article ID: Q150355 |
The information in this article applies to:
IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information on how to do this, view the "Restoring the Registry" online Help topic in Regedit.exe or the "Restoring a Registry Key" online Help topic in Regedt32.exe.
SYMPTOMSWhen you initiate a programmatic traversal of a large Windows NT file system (NTFS) directory tree (for example, Ntbackup:\*.* or Dir/s\*.xyz), Windows NT is nonresponsive and network connections may time out, resulting in client disconnections. This problem has been widely observed on large Services for Macintosh (SFM) volumes. Macintosh clients may pause or stop responding (hang) for several minutes when they select a SFM volume in the Chooser.
CAUSEBecause the Windows NT circular log file is full and waiting to be flushed to the hard disk, it prevents responsive execution of the directory traversal. Assume a directory structure consisting of a large number of small directories (around 70,000). A directory tree traversal (Dir /s \*.xyz) visits each directory to do an enumeration, requiring an open of the directory to obtain the handle. Each time the last handle for a directory is closed, NTFS will update the LastAccess time stamp on the directory. This operation requires a write of a log record to the circular log file as well as the meta data in memory. Normally, the NTFS circular log file never fills up. The Cache Manager's Lazy Writer flushes both the log file and meta data out to the hard disk periodically. The system stops responding when the log file is full, making it critical to flush data to the hard disk to make space available. This blocks other operations on NTFS during the flush.
RESOLUTIONNOTE: If you have a computer running Windows NT 3.51, please apply the latest service pack for Windows NT version 3.51 and then follow the Registry Editor steps below. If you have a computer running Windows NT version 4.0, please follow only the Registry Editor steps below. To correct this problem, follow the appropriate steps below:
Windows NT 4.0Make the registry change mentioned below.
Windows NT 3.51Obtain the latest Windows NT 3.51 Service Pack and make the registry change below. WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. For information about how to edit the registry, view the "Changing Keys And Values" online Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" online Help topics in Regedt32.exe. Note that you should back up the registry before you edit it.
STATUSMicrosoft has confirmed this to be a problem in Microsoft Windows NT version 3.51. This problem was corrected in the latest Windows NT 3.51 U.S. Service Pack. For information on obtaining the Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces):
S E R V P A C K |
Additional query words: nonresponsive pausing hanging hangs locks up lock
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |