This document discusses the problems related to the DLLHOST process, used for all COM+ applications, and possible solutions to resolve issues with this host process.
There are no specific requirements for this document.
The information in this document is based on these software and hardware versions:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
The DLLHOST process is used on all versions of Windows 2000 and is the host process for all COM+ applications. Window's systems use COM+ to manage and execute ASP pages (Internet Information Server (IIS)/services). Therefore, when you call an ASP page, the DLLHOST is used to execute the ASP page.
Specifically, the DLLHOST is the host process for all COM+ applications. Distributed Component Object Model (DCOM) is the support module for Dynamic Link Library (DLL) based COM objects. DCOM is a software architecture model that is an intrinsic part of Windows, of most Microsoft products, and of many non-Microsoft products that take advantage of COM+ or DCOM. In most cases, you should never see DLLHOST in your Task List. Typically DLLHOST starts and perform its function and then terminates. However, sometimes, if a Java COM object runs (this could happen if you browse the Internet and come to a page which has Java code), DLLHOST might not terminate, which is when you would see it in your Task List.
It is important not to perform an End Task, as there is no way to determine whether DLLHOST has completed its task or not. More advanced users can delete the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Java VM\ MSDebug", which can solve the problem where DLLHOST constantly appears in the Task List. The DLLHOST is usually stable but occasionally the DLL it manages might cause problems. The Solution section of this document shows how to identify a memory leak within the DLLHOST process.
For more information, refer to the Readme Notes (registered customers only) for the latest Windows Operating System (OS) and Structured Query Language (SQL) information.
The first task is to identify which COM+ application leaks in the DLLHOST process. These steps provide a basis to begin to troubleshoot this problem:
Within Task Manager, identify the process identifier (PID) associated with the DLLHOST.EXE file.
Select Start > Programs > Administrative Tools >Component Services.
Expand Component Services > Computers > My Computer > COM+ Applications.
Highlight COM+ Applications.
Right click COM+ and select View > Status View.
In the right-hand pane, the associated PID is listed to the right of each active COM+ application. Use these PIDs as a direct cross-reference to the PID identified within Task Manager.
In this example, Task Manager's DLLHOST references PID 2456, which is accessing over 200 mb of memory. In Component Services, PID 2456 is associated with "IIS Out-Of Process Pooled Applications". In this case, Cisco CallManager hits Cisco bug ID CSCea07798 (registered customers only) , which relates to Multilevel Administration Access (MLA) that uses the "IIS Out-Of Process Pooled Application" to leak memory. In this situation, using the CCMAdministrator account instead of the MLA account will solve the issue.
With this information you can go to both the Microsoft web site and Cisco.com, and search for the COM+ applications to see if a known bug is the issue.
Alternatively, you can verify the amount of private bytes of DLLHOST with perfmon. If the number of private bytes remain constant for a number of days, there is no memory leak. If you see the number of private bytes increase, there is a memory leak that needs to be identified.
Before you decide to open a service request with Cisco Technical Support on these issues, gather this information and have it available for your technical support engineer:
Gather any Event Logs which might relate to the error.
Gather Windows SQL patches. In order to do this, select Start > Programs > Microsoft SQL Server 7.0 <Version> > Query Analyzer.
Enter select @@version and perform the query (top middle green arrow).
Gather any Windows patches. In order to do this, select Start > Run, and enter c:\sti\stiver.