<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://sufan.maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://sufan.maytide.net/read.php/762.htm</link>
<title><![CDATA[解决”dllhost进程消耗cpu 100%的问题]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Microsoft IIS]]></category>
<pubDate>Wed, 24 Nov 2004 09:15:13 +0000</pubDate> 
<guid>https://sufan.maytide.net/read.php/762.htm</guid> 
<description>
<![CDATA[ 
	特征：服务器正常CPU消耗应该在75%以下，而且CPU消耗应该是上下起伏的，出现这种问题的服务器，CPU会突然一直处100%的水平，而且不会下降。查看任务管理器，可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间，管理员在这种情况下，只好重新启动IIS服务，奇怪的是，重新启动IIS服务后一切正常，但可能过了一段时间后，问题又再次出现了。 <br/><br/>直接原因： <br/>有一个或多个ACCESS数据库在多次读写过程中损坏，微软的MDAC系统在写入这个损坏的ACCESS文件时，ASP线程处于BLOCK状态，结果其他线程只能等待，IIS被死锁了，全部的CPU时间都消耗在DLLHOST中。 <br/><br/>解决办法： <br/>最简单的办法是使用文件医生，自动查找并修复所有有问题的文件，请参考： <br/>http://7i24.com/serverdoctor/filedoctor.htm <br/><br/><br/>另一个办法是： <br/>安装“一流信息监控拦截系统”，使用其中的“首席文件检查官IIS健康检查官”软件， <br/>启用”查找死锁模块”，设置： <br/>;--wblock=yes <br/>;监控的目录，请指定您的主机的文件所在目录： <br/>;--wblockdir=d:\test <br/>监控生成的日志的文件保存位置在安装目录的log目录中，文件名为：logblock.htm <br/><br/>停止IIS，再启动“首席文件检查官IIS健康检查官”，再启动IIS，“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。 <br/><br/>过了一段时间后，当问题出来时，例如CPU会再次一直处100%的水平，可以停止IIS，检查logblock.htm所记录的最后的十个文件，注意，最有问题的往往是计数器类的ACCESS文件，例如：”**COUNT.MDB”，”**COUNT.ASP”，可以先把最后十个文件或有所怀疑的文件删除到回收站中，再启动IIS，看看问题是否再次出现。我们相信，经过仔细的查找后，您肯定可以找到这个让您操心了一段时间的文件的。 <br/>找到这个文件后，可以删除它，或下载下来，用ACCESS2000修复它，问题就解决了！！！ 
]]>
</description>
</item>
</channel>
</rss>