Microsoft KB Archive/290512

= FIX: COM+ Applications Consume All Available Client Ports Between 1024 and 5000 and Cause High CPU Utilization =

Article ID: 290512

Article Last Modified on 5/8/2002

-

APPLIES TO


 * Microsoft COM+ 1.0

-



This article was previously published under Q290512



SYMPTOMS
If Distributed Component Object Model (DCOM) calls are made between two COM+ server applications on two different computers under heavy load, the COM+ applications may consume all available client ports between 1024 and 5000 and cause high CPU utilization. The COM+ server applications may be configured as two separate server applications, or a COM+ server application may have been exported to a remote server as a COM+ application proxy.

In addition, if the COM objects that make the DCOM calls are written in Microsoft Visual Basic, the following error may appear in the event log:

Error: 462

The remote server machine does not exist or is unavailable.

The following message may also appear in the event log:

DCOM was unable to communicate with the computer  using any of the configured protocols

If you shut down the COM+ server applications and restart them, you can free up client ports to provide relief; however, the problem recurs over time.



RESOLUTION
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

This fix allows Remote Procedure Call (RPC) to clean up idle bindings earlier.

In addition to installing the latest service pack or COM+ rollup, you may need to increase the available ephemeral ports on each server. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

196271 Unable to Connect from TCP Ports Above 5000



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 2.



MORE INFORMATION
When you view the CPU time of the individual threads inside the COM+ package (Dllhost.exe), the function calls in RPCSS.dll consume most of the CPU time. If you use Netstat (at a command prompt, type netstat /? ) to examine the connections between the two servers, the output may show that all of the ephemeral ports on the DCOM client have been used (all ports between 1024 and 5000) and are in the &quot;ESTABLISHED&quot; state. For example:

TCP   10.202.250.46:1025     10.202.102.122:135     ESTABLISHED TCP   10.202.250.46:1026     10.202.102.122:135     ESTABLISHED ............ until ............ TCP   10.202.250.46:4997     10.202.102.122:135     ESTABLISHED TCP   10.202.250.46:4998     10.202.102.122:135     ESTABLISHED TCP   10.202.250.46:4999     10.202.102.122:135     ESTABLISHED TCP   10.202.250.46:5000     10.202.102.122:135     ESTABLISHED

Keywords: kberrmsg kbbug kbfix kbwin2000presp2fix KB290512

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.