The subject behavior may occur if both of the following are true:
- Windows 2000 clients submit multiple simultaneous requests against a file server that runs the Server Message Block (SMB) Service.
- The MaxCmds Value Name, a REG_DWORD data type, on the client, is lower than 50, or missing, or the MaxMpxCt Value Name on the server, a REG_DWORD data type, is lower than 50.
The Windows 2000 Resource Kit Supplement One defines the following:
|MaxCmds||A REG_DWORD data type with a range of 0-255 and a default of 15
specifies the maximum number of network control blocks that the redirector can reserve.
The value of this entry coincides with the number of execution threads that can be outstanding simultaneously.
Increase this value to improve network throughput, especially if you are running applications that perform
more than 15 operations simultaneously. However, because this entry also limits the number of outstanding execution threads,
your network performance might not improve. Each additional execution thread uses a margin of 1 KB of nonpaged pool when the
network is at capacity. However, these resources are not consumed until the user references data in the network control block.
|MaxMpxCt||A REG_DWORD data type with a range of 0-125 and a default of 50
specifies a suggested limit on the number of outstanding client requests that can be maintained for each client on this server.
Because the limit on outstanding requests is negotiated between the client and and server and is enforced by the client,
this value might not be the actual maximum used.
Increasing this value might improve server performance, but it requires more receive buffers
(also known as work items) on the server.
|Nonpaged pool||An area of system memory reserved for objects that must remain in physical memory as long as they are active. The alternative is the paged pool.|
|Paged pool||An area of system memory that stores objects that can be transferred to the paging files on disk when they are not being used. This frees up physical memory for objects that are recently or frequently accessed. The alternative is the nonpaged pool.|
To resolve this problem, specifically define the MaxCmds Value Name on the clients as a number greater than 49, and specifically define the MaxMpxCt Value Name on the server as a number greater than 49. If the server has a MaxMpxCount Value Name, a REG-DWORD data type, at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters,it defines the maximum number of simultaneously active requests that the server permits from a client. It should be at least as large as 50. The number of concurrent outstanding network requests for a client / server pair is the lesser of MaxMpxCount and MaxCmds.
NOTE: You can track the number of concurrent outstanding network requests by adding the Current Commands counter to the Redirector performance object in Performance Monitor.