Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

DLLHost.exe pushing CPU to 50-100%

Posted on 2002-05-19
Last Modified: 2012-08-13
This is a website running for 2 years with VB ActiveX DLLs COM copmponents. From one day to another, after having running fine for 2 years, it became to be unstable. From times to times (about 5 times a day), it would either be very slow, or returning a 500 IIS Internal Error. When this happen, the DLLHost.exe referenced by the concerned website uses 50% of the CPU (it never went above 10% before we begin to have the problem), and sometime just 100% consuming all machine ressources.

I guess that could either be an OS issue (maybe security patches that has this secondary effect) or a strange leak or pb with my DLLs that sundenly wake-up, but those have been running fine before for a long time... Another important point is that the website had no significant activity increase at the time this begun to happen.

Thanks in advance for your useful help :o)
Question by:partner0
  • 5
  • 4
LVL 17

Accepted Solution

inthedark earned 200 total points
ID: 7020560
Here a few thoughts which you probably checked already:

1) First check that you have space on your windows drive. Sometimes sites go down cos nobody deletes the log files.

2) Do you keep a track of handles and available memory?  If the handles keep going up you could have a bug on an ASP page.

3) VB ActiveX + SQL server can only service about 4 hits per second, if you get more your server will start to hang - but you say no increase in activity.

4) If there is an error on an ASP page you should be carefully about using a response to another ASP page. You can send the client in a redirect loop where a page keeps redirecting to itself.

5) Also error traps in ASP pages or ActiveX can create this fault.

Example of problem:

On error goto ErrorTrap

do some code



do some code ' which cause fault will cause loop

Change error trap code like this:

  StoreError = Err. Number
  StoreSetails = Err. Description
  On error Resume Next ' stop another error causing a fault.

6) Another classic cause of loss of resources is to have a bug in the global.asa Session_OnEnd event which causes a loop.  As more sessions time-out it gets worse.  If you try to shut down IIS the system crashes.

7) Make sure your browser settings (Tools-Options-Advanced) for "Show friendly HTTP error messages" is not checked - if it is you may not see the full error message.

8) Check the Application/System event logs.

Bust of luck - my heart always sinks when I see internal server error 500.

LVL 49

Expert Comment

ID: 7817890
Hi partner0,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept inthedark's comment(s) as an answer.

partner0, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
DanRollins -- EE database cleanup volunteer

Author Comment

ID: 7818240
To close it...
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

LVL 49

Expert Comment

ID: 7818718
partner0, Please read this:

It is quite unacceptable to dump a grade of 'C' on an expert except in vary narrow set of circumstances.

If you post to CS, a Moderator will examine this question and may change the grade.
-- Dan

Author Comment

ID: 7821497
OK, then change the grade.

The point is that I accepted answer to close the question as you requested. The answer is kind of very generic and none of the mentioned 8 points has something to do with my problem.

Plus, C grade is called Average. I think average is not even adequate for what is the answer to me...

Now my point is certainly not blaming anybody or make what I thought to be a good action being a bad one. So please change the grade if needed.

Kind regards,

PS: If "It is quite unacceptable to dump a grade of C on an expert" Then either C should not be called "Average" or it should be removed!
LVL 49

Expert Comment

ID: 7824629
>> The answer is kind of very generic and none of the mentioned 8 points has something to do with my problem.

That happens quite often because the Expert comes into a problem 'cold' and has no means to diagnose the problem other than the information that you provide.  The Expert cannot read your mind.  If you tell him very little about the problem, he will, of necessity, be very generic in his comments.  THEREFORE you must respond to each comment and provide additional information.  If you do that, you will get very specific help that will lead you to a solution for your particular problem.    

>>either C should not be called "Average" or it should be removed!

I agree that the label of 'Average' should be changed.  The fact that it is the lowest available grade is a sort of clue to what it really means, and the Site Guidelines make that quite clear.

-- Dan

Author Comment

ID: 7824724
I also posted this same question in the Win 2000 forum and led the discussion there cause comments posted there made sense. I insist this comment does not make sense at all and has absolutly no value to solving my problem. The only thing I could have responded point by point is either

"This is out of purpose"


"Obviouly I already verified this and it has no link with my problem"

I don't think this would have help... I'm sorry, I cant say this is a good or excelent answer... Now I do understand "Average" means "Very Bad" according to your policies, and therefore maybe "Good" means "Average" in which case a B grade would be fine (and even well payed ;o) ) I supose.

I repeat myself: If you think the grade should be changed, please go ahead.

Author Comment

ID: 7824745
PS: Average means Average, please don't tell me there are clues so that Average means Very Bad!
LVL 49

Expert Comment

ID: 7825235
>> please don't tell me there are clues so that Average means Very Bad!

At McDonalds, you can order these three sizes of CocaCola.  
     1) Extra Large !!
     2) Large !
     3) Medium
Which is the smallest?  Does "Medium" mean "Small"?   Yes, it does.  Can you take a clue from that?  The other clue is at the link I showed you which is at the bottom of every page.

Author Comment

ID: 7825981
OK, I'm too stupid...

BTW, in my contry, you can order small coke at the Mac Donalds.

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

837 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question