Terminal Server Client Connections and Logon Limited by MaxWorkItem and MaxMpxCt Values

ID: Q232476


The information in this article applies to:
  • Microsoft Windows NT Server versions 4.0, 4.0 SP4, Terminal Server Edition

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 about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SYMPTOMS

After multiple Terminal Server clients establish a session with a server running Windows NT Server 4.0, Terminal Server Edition, additional clients are unable to connect. When this occurs, in some cases, clients are not able to browse certain servers or domain controllers after a specific number of client sessions have been established. They may not exhibit the same symptoms as above, but this issue may be corrected by the solution below.

This behavior is not affected by either the number of licenses in place or the License Logging Service on either the Terminal Server computer or domain controller. This problem can occur with either Independent Computing Architecture (ICA) or Remote Desktop Protocol (RDP) clients, and the clients may receive one of the following error messages:

System could not log you on because domain <domainname> is not available
-or-
You do not have access to logon to this session
Clients are able to use the NET VIEW and NET USE commands, or the PING command to contact other servers and domain resources without difficulty. In some cases, after about 20 or 30 minutes, additional clients may be able to log on before new connections are again refused. CPU usage is normally very low, and this can occur regardless of the CPU speed, number of CPUs, or amount of RAM installed on either the Terminal Server computer or domain controllers.

If the Terminal Server computer is a member server, no Event Viewer System log entries may be evident. On the domain controllers, the Terminal Server computer's Event Viewer System log may contain one or both of the following entries:
Error 1727: The remote procedure call failed and did not execute
-or-
Event ID: 1311
Source: NetLogon
Description: There are currently no logon servers available to service the logon request.
Other RPC error messages that may appear are:
Error 1722: The RPC server is unavailable.
Error 1723: The RPC server is too busy to complete this operation.
Error 1721: Not enough resources are available to complete this operation.


RESOLUTION

To resolve this issue, you need to either edit the existing values or add the following registry entries for both MaxWorkItems and MaxMpxCt to the Terminal Server computers configured as a domain controller. By default, MaxWorkItems and MaxMpxCt do not appear under the parameters key although they are in effect.

NOTE: These values need to be added with such a ratio that the value for MaxWorkItems is at least four times as large as that for MaxMpxCt. For example, if MaxMpxCt has a value of 1024, then MaxWorkItems needs to have a value of at least 4096.
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" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).


  1. Start Registry Editor (Regedt32.exe).


  2. Locate the following key in the registry:
    
    HKEY_LOCAL__MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters 


  3. Double-click the MaxWorkItems value, type 4096, click Decimal, and then click OK.

    The number value you enter is arbitary, and you could also enter 1024, 2048, 8192, or 16384 if desired. However it is recommended to begin at the lower levels and work up as needed, doubling the value each time. The range for this value is 1 through 65535. If this value already exists, but you are experiencing problems similar to those outlined above, then edit this entry and double its current value; For example, if it shows a value of 1012, then change it to 2024, and so forth. If problems persist, then continue this process until the issue subsides.

    NOTE: This value needs to be at least four times as large as MaxMpxCt.


  4. If the MaxWorkItems value does not exist in the Parameters key, on the Edit menu, click Add Value, and then add the following registry value:
    
       Value Name: MaxWorkItems
       Data Type:  REG_DWORD
       Value:      4096 


  5. Double-click the MaxMpxCt value, type 1024, click Decimal, and then click OK.

    The default value for MaxMpxCt is 50, but remember that MaxWorkItems needs to be set at least 4 times as high as the number used for MaxMpxCt.

    NOTE: Windows 95 and Windows 98 clients can interpret this registry entry differently than Windows NT, so apply this value according to which client is being used. For more information about how Windows 95 and Windows 98 does this, please click the article number below to view the article in the Microsoft Knowledge Base:
    Q232890 Win98 Fails to connect to NT4 share -- net client hangs.


  6. If the MaxMpxCt value does not exist in the Parameters key, on the Edit menu, click Add Value, and then add the following registry value:
    
       Value Name: MaxMpxCt
       Data Type:  REG_DWORD
       Value:      1024 (Decimal) 
    When you add this value to the registry of a computer running Windows 95 or Windows 98, set this value at either 510 Decimal (or 1fe Hex).


  7. NOTE: If Windows 95, Windows 98, and Windows NT clients are present, then the value for MaxMpxCt should be set to the default used for Windows95 and Windows 98, because Windows NT should read the value without problems.
  8. Quit Registry Editor and restart the computer.



MORE INFORMATION

Default MaxWorkItems Value

This value specifies the maximum number of receive buffers, or work items, that the Server service is permitted to allocate at one time. If this limit is reached, then the transport must initiate flow control, which can significantly impair performance. In some cases, this problem may also manifest itself by not allowing new connections to be made to the server.

There is no set default value for this entry, because it is determined by the computer's hardware configuration and the Server service, and may need to be adjusted. Third-party programs may also require this value to be set at a higher number.

Windows NT uses the settings for Server Service Optimization along with the hardware configuration to help determine what the default value for MaxWorkItems are. The Server Optimization choices are found in the Server properties when you click the Services tab in the Control Panel Network tool and Windows NT configures the value in the following manner.

For a server with one processor that is configured for Maximum Throughput for File Sharing, it is 16 times the amount of RAM. Additional CPUs each add an equal amount. For example, the calculations for a computer with a single processor and 24 MB and 56 MB of RAM respectively are: 4 * ( 24 * 2 ) * 2 / 1 = 384

4 * ( 56 * 2 ) * 2 / 1 = 896

Default MaxMpxCt values

This allows a server to provide a suggested maximum number of simultaneous outstanding client requests to a particular server. During negotiation of the Serb=ver Message Block (SMB) dialect, this value is passed to the client's redirector where the limit on outstanding requests is enforced. A higher value can increase server performance, but requires higher use of server work items (MaxWorkItems). Because each client can consume multiple instances, this can exceed the default maximum of 50.

For additional information about MaxMpxCt and slow network performance, please click the article number below to view the article in the Microsoft Knowledge Base:
Q191370 Slow Network Performance with Terminal Server

Additional query words: Lock Freeze hang logging

Keywords : kbenv kbnetwork
Version : winnt:4.0,4.0 SP4
Platform : winnt
Issue type : kbprb


Last Reviewed: August 26, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.