注册
 找回密码
 注册
江西广告网
查看: 434|回复: 0
打印 上一主题 下一主题

如何解决dllhost进程消耗CPU100%的问题

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-10 09:56:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x

  特征:服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
  
  直接原因:
  
  有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
  
  解决办法:
  
  最简单的办法是使用文件医生,自动查找并修复所有有问题的文件,请参考:
  
  另一个办法是:
  
  安装“一流信息监控拦截系统”,使用其中的“首席文件检查官IIS健康检查官”软件,
  
  启用”查找死锁模块”,设置:
  
  ;--wblock=yes
  
  ;监控的目录,请指定您的主机的文件所在目录:
  
  ;--wblockdir=d:\test
  
  监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblock.htm
  
  停止IIS,再启动“首席文件检查官IIS健康检查官”,再启动IIS,“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。
  
  过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止IIS,检查logblock.htm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:”**COUNT.MDB”,”**COUNT.ASP”,可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动IIS,看看问题是否再次出现。我们相信,经过仔细的查找后,您肯定可以找到这个让您操心了一段时间的文件的。
  
  找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了!!! <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表