JSI Tip 6229. After you install Windows 2000 Service Pack 3 (SP3), you receive 'The network BIOS command limit has been reached'?

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 at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters 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.
NOTE: Starting with Service Pack 2, the limit is 65,535.

  MaxMpxCt                                    A REG_DWORD data type with a range of 0-125 and a default of 50 at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters 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.
NOTE: Starting with Service Pack 2, the limit is 65,535.

  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.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.