解决”dllhost进程消耗cpu 100%的问题

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

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

解决办法: 
最简单的办法是使用文件医生,自动查找并修复所有有问题的文件,请参考: 
http://7i24.com/serverdoctor/filedoctor.htm 


另一个办法是: 
安装“一流信息监控拦截系统”,使用其中的“首席文件检查官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修复它,问题就解决了!!





本文转自 苏繁 51CTO博客,原文链接:http://blog.51cto.com/goxia/224802,如需转载请自行联系原作者
目录
相关文章
|
12天前
|
Java 对象存储 开发者
如何找出Java进程占用CPU高的元凶
本文记录了一次Java进程CPU占用率过高的问题和排查思路。
|
27天前
|
Windows
dllhost.exe进程占用CPU很高怎么解决?
全面解析dllhost.exe进程
61 16
|
3月前
|
存储 监控
【Azure Cloud Service】在Azure云服务中收集CPU监控指标和IIS进程的DUMP方法
在使用Cloud Service服务时,发现服务的CPU占用很高,在业务请求并不大的情况下,需要直到到底是什么进程占用了大量的CPU资源,已经如何获取IIS进程(w3wp.exe)的DUMP文件?
|
5月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
192 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
4月前
|
Linux Python
在Linux中,如何查找系统中占用CPU最高的进程?
在Linux中,如何查找系统中占用CPU最高的进程?
|
4月前
|
Linux
在Linux中,如何查看占用CPU最多的进程?
在Linux中,如何查看占用CPU最多的进程?
|
4月前
|
数据安全/隐私保护 异构计算 Windows
【Azure 环境】 介绍两种常规的方法来监视Window系统的CPU高时的进程信息: Performance Monitor 和 Powershell Get-Counter
【Azure 环境】 介绍两种常规的方法来监视Window系统的CPU高时的进程信息: Performance Monitor 和 Powershell Get-Counter
|
4月前
|
Linux
在Linux中,如何找出占用CPU或内存最多的进程?
在Linux中,如何找出占用CPU或内存最多的进程?
|
5月前
|
存储 缓存 NoSQL
Redis性能优化问题之优化 Redis fork 耗时严重的问题,如何解决
Redis性能优化问题之优化 Redis fork 耗时严重的问题,如何解决
|
7月前
|
存储 算法 Linux
【计算机操作系统】深入探究CPU,PCB和进程工作原理
【计算机操作系统】深入探究CPU,PCB和进程工作原理
210 1