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

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

  特征:服务器正常CPU消耗应该在 %以下 而且CPU消耗应该是上下起伏的 出现这种问题的服务器 CPU会突然一直处 %的水平 而且不会下降 查看任务管理器 可以发现是DLLHOST EXE消耗了所有的CPU空闲时间 管理员在这种情况下 只好重新启动IIS服务 奇怪的是 重新启动IIS服务后一切正常 但可能过了一段时间后 问题又再次出现了

  

  
直接原因:

  

  有一个或多个ACCESS数据库在多次读写过程中损坏 微软的MDAC系统在写入这个损坏的ACCESS文件时 ASP线程处于BLOCK状态 结果其他线程只能等待 IIS被死锁了 全部的CPU时间都消耗在DLLHOST中

  

  
解决办法:

  

  最简单的办法是使用文件医生 自动查找并修复所有有问题的文件 请参考:

  

  
另一个办法是:

  

  安装 一流信息监控拦截系统 使用其中的 首席文件检查官IIS健康检查官 软件

  

  启用 查找死锁模块 设置:

  

  ; wblock=yes

  

  ;监控的目录 请指定您的主机的文件所在目录:

  

  ; wblockdir=d:test

  

  监控生成的日志的文件保存位置在安装目录的log目录中 文件名为:

  

  停止IIS 再启动 首席文件检查官IIS健康检查官 再启动IIS 首席文件检查官IIS健康检查官 会在中记录下最后写入的ACCESS文件的

  

  过了一段时间后 当问题出来时 例如CPU会再次一直处 %的水平 可以停止IIS 检查所记录的最后的十个文件 注意 最有问题的往往是计数器类的ACCESS文件 例如: **COUNT MDB **COUNT ASP 可以先把最后十个文件或有所怀疑的文件删除到回收站中 再启动IIS 看看问题是否再次出现 我们相信 经过仔细的查找后 您肯定可以找到这个让您操心了一段时间的文件的

  

  找到这个文件后 可以删除它 或下载下来 用ACCESS 修复它 问题就解决了!!!

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

相关文章:

你感兴趣的文章:

标签云: