Server Optimization in RFCB Caching

Last reviewed: September 25, 1997
Article ID: Q126026

The information in this article applies to:
  • Microsoft Windows NT Workstation versions 3.5, 3.51, and 4.0
  • Microsoft Windows NT Server versions 3.5, 3.51, and 4.0

SUMMARY

The Server service now caches the file handles (RFCBs) associated with files it has opened on behalf of a client request. Although write requests proceed normally, close requests are acknowledged by the server, but are buffered from the file system. This is intended to optimize response time to repeated open/close operations performed by clients. In regards to Opportunistic Locking (oplock), this optimization is a logical extension of the way a client caches its own file close request and relies on the server to arbitrate future requests for file access by other clients.

In rare situations, Oplock must be disabled for compatibility purposes. RFCB caching also includes a configurable parameter in the registry to modify the server's behavior.

MORE INFORMATION

An obvious sign that a file is being held open is the reported size may be zero. In Control Panel, the Server option displays open files, when in fact, they are only open by the Server service in a cached mode. Other signs may include sharing violations. Local file operations are not serviced by the server and are not subject to RFCB caching. If you experience problems accessing files opened via a UNC name or from a different computer, you can diagnose the issue as follows:

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

  1. Attempt accesses to the file from the local machine. If you are not able to access the file locally, the remote application might hold a lock on the file or has opened it in exclusive mode.

  2. End the remote application and attempt access once again. If this corrects the problem, the application developer should be consulted on their support for running the application on a network.

  3. Disable the RFCB caching by modifying the Registry. To do this, start the Registry Editor (REGEDT32.EXE) and go to the following subkey:

          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
          \LanmanServer\Parameters
    

    Add or change the following:

          Value Name: CachedOpenLimit
          Data Type:  REG_DWORD
    
          Data:       0 (Default: 5)
    
    

  4. Either shut down and restart Windows NT, or from a command prompt type:

          NET STOP SERVER
    

    And then type:

          NET START SERVER
    

    NOTE: If this appears to correct the symptoms, you can continue to run the server this way but it will not benefit from RFCB caching.


Additional query words: prodnt cached open limit
Keywords : ntfault ntfilesys ntnetserv kbnetwork
Version : WinNT:3.5,3.51,4.0
Platform : winnt


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 25, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.