最近运行电脑出现:dllhost.exe,就把CUP占了一半。

ChinaXtHuLang 2009-05-12 08:49:49
最近运行电脑出现:dllhost.exe,就把CUP占了一半。
并且网站也不能运行。打开好慢。。之后就超时。我已经加了超时脚本还是一样。。
dllhost.exe,怎么处理啊??
...全文
524 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinxingshashou 2009-05-12
  • 打赏
  • 举报
回复
不是病毒啊? 是程序问题吗?这个 我这个菜鸟 好像帮不上忙啊 不好意思啊 帮你顶下 帖子吧
Dogfish 2009-05-12
  • 打赏
  • 举报
回复
查查代码里是否有死循环
Msxindl_Com 2009-05-12
  • 打赏
  • 举报
回复
请检查在do while.....loop循环中没有加上rs.movenext
  • 打赏
  • 举报
回复
一、事件查看器 应用程序

提示如下信息:

错误: Script Engine 异常. 一个 ScriptEngine 超出了预期'C0000005' 在'IActiveScript::SetScriptState()',来自'CActiveScriptEngine::ResetToUninitialized()' 。。

二,事件查看器 系统

依次出现以下提示信息:

1、服务器无法注册管理工具发现信息。管理工具可能无法看到此服务器。数据错误。
2、进程外应用程序 '/LM/W3SVC/39/Root' 意外地终止。
3、进程外应用程序 '/LM/W3SVC/6/Root' 意外地终止。
4、进程外应用程序 '/LM/W3SVC/4/Root' 意外地终止。
5、进程外应用程序 '/LM/W3SVC/36/Root' 意外地终止。

系统环境:WIN2000 SP4 SQLSERVER2000 IIS(asp+.net)
具体说明:dllhost.exe内存使用超高,达到一定限度后WEB服务挂机,cpu占用率达到100%。结束dllhost.exe或重启iis后web服务恢复正常,周期性的出现。
 使 用 过 相 关 解 决 方 法:
----------------------------------------------------------------------------
1、从别的电脑上(同系统)拷贝Vbscript.dll,覆盖前请备份!
----------------------------------------------------------------------------
2、重装iis
----------------------------------------------------------------------------
3、更新ScriptEn.exe安装一下
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c717d943-7e4b-4622-86eb-95a22b832caa
----------------------------------------------------------------------------
4、更新“组件服务”,一下是具体操作(这个需要谨慎,最好在本地机器上操作熟练,或先生成服务安装包!)

a. 浏览至“组件服务”并删除下列程序包:注意:要删除这些程序包,必须首先打开程序包的属性,单击高级选项卡,然后单击以清除禁止删除复选框。

? IIS In-Process Applications
? IIS Out-of-Process Pooled Applications
? IIS Utilities

b. 打开命令提示窗口,然后使用以下命令切换目录:
cd %windir%system32inetsrv
c. 运行以下命令:
rundll32 wamreg.dll, CreateIISPackage
注意:必须准确键入“CreateIISPackage”;它区分大小写。
regsvr32 asptxn.dll
d. 关闭并重新打开“组件服务”。您应看到已经重新创建的所有这三个 IIS COM+ 应用程序。
e. 从命令行运行 IISRESET,并对先前未正确加载的任意 ASP 页进行测试。
dllhost.exe 解释

dllhost.exe是什么?
dllhost.exe是运行COM+的组件,即COM代理,运行Windows中的Web和FTP服务器必须有这个东西。

什么时候会出现dllhost.exe?
运行COM+组件程序的时候就会出现。例如江民KV2004

冲击波杀手又是怎么一回事?
冲击波杀手借用了dllhost.exe作为进程名,但是由于Windows不允许同一个目录下有同名文件的存在,因此,冲击波杀手把病毒体:dllhost.exe放到了C:WindowsSystem32Wins目录里面(Windows 2000是C:WINNTSystem32Wins,全部假设系统安装在C盘),但是真正的dllhost.exe应该放 在C:WindowsSystem32(Windows 2000是C:WINNTSystem32)

换句话说就是:冲击波(Worm.WelChia)为了迷惑用户,避免病毒的执行体被进程管理器终止,采用了dllhost.e xe这个和Windows组件一样的名字,但是并不是说进程里面出现dllhost.exe就等于感染了worm.welchi a

再看看这里的FAQ吧

第一个误区————进程出现Dllhost.exe就等于中了病毒
Dllhost.exe是系统文件,但是进程里面出现Dllhost.exe进程不等于中了病毒

第二个误区————一见Dllhost.exe进程就杀死
其实这样做是不好的。很多程序都需要Dllhost.exe,例如KV2004实时监控运行的时候或IIS在解析一些ASP文件 的时候,进程中都会出现Dllhost.exe

之所以大家恐惧Dllhost.exe进程,恐怕是由于冲击波(杀手)的问题。
其实冲击波(杀手)只不过采取了一个偷梁换柱的方法。因为任务管理器里面无法看出进程中exe文件的路径,所以让大家在分析问题 的时候出现一些偏差。

感染冲击波(杀手)的典型特征不是进程中出现Dllhost.exe,而是RPC服务出现问题(冲击波)和System32w ins目录里面出现svchost.exe和dllhost.exe文件(冲击波杀手)。注意路径!!

那么,Dllhost.exe是什么呢?Dllhost.exe是 COM+ 的主进程。正常下应该位于system32目录里面和system32dllcache目录里面。而system32win s目录里面是不会有dllhost.exe文件的。
IIS中死循环的解决方法(Dllhost.exe占用CPU100%解决办法)

IIS服务中遇到死循环后,主要的症状为:dllhost.exe进程占用CPU使用率100%,从而导致服务器不能正常工作。

经过小编几次教训后,由于技术不高,所以总结出以下笨办法供大家使用:
1. 建立一个关闭IIS服务进程的BAT文件,遇到情况后可以及时解决。
文件内容: net stop iisadmin /y

2. 建立一个启动服务进程的BAT文件,关闭服务后可以及时启动。
文件内容: Net Start W3svc

3. 遇到的问题:因为DLLHOST进程占用CPU过高,可能有时候操作系统不能完全关闭WWW服务,所以如果发现仍有进程CPU占用率为100%的时候,可以再进行一次关闭进程的操作,然后在启动WWW服务。

4. 如果对以上不明白的,可以联系微软

5. 有一点我没有尝试,如果将这两个程序放到某一个服务中,然后在遇到情况的时候运行一下,是不是就可以远程解决这个问题了,但服务中WWW是不可能了,因为只能进行关闭,或者把关闭放到这里然后将文件设定密码,到时候再用3389开启是个办法。
ChinaXtHuLang 2009-05-12
  • 打赏
  • 举报
回复
不会的。前几天都还好好的。就是这2天事
  • 打赏
  • 举报
回复
脚本有问题
步慢生错 2009-05-12
  • 打赏
  • 举报
回复
conn链接语句里
步慢生错 2009-05-12
  • 打赏
  • 举报
回复
不要忽略错误。把on error resume这句去掉。否则一直死循环。
ChinaXtHuLang 2009-05-12
  • 打赏
  • 举报
回复
自己顶下.望高手来解答。
ChinaXtHuLang 2009-05-12
  • 打赏
  • 举报
回复
这是代码:
<%
set Rs_Class = server.createobject("adodb.recordset")
Sql_Class = "select typeid,typename from cls"
Rs_Class.open Sql_Class,conn,1,1
Do While Not Rs_Class.EoF
%>
<div class="Box">
<h5><%=Rs_Class("typename")%></h5>
<ul>
<%
Sql_List="select id,title,date,typeid from bbs where typeid='"&Rs_Class("typeid")&"'"
Set RsList=server.createobject("adodb.recordset")
RsList.open Sql_List,conn,1,1
Do While Not RsList.Eof
%>
<li><span><%=FormatDate(RsList("date"),18)%></span><a href="ShowNews.Asp?id=<%=RsList("id")%>" target="_blank" title="<%=RsList("title")%>"><%=RsList("title")%></a></li>
<%
RsList.MoveNext
Loop
RsList.Close
Set RsList=Nothing
%>
</ul>
</div>
<%
Rs_Class.MoveNext
Loop
Rs_Class.Close
Set Rs_Class=Nothing
conn.Close
Set conn=Nothing
%>

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧