解决”dllhost进程消耗cpu 100%的问题
[ 2004/11/24 17:15 | by gOxiA ]
特征:服务器正常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修复它,问题就解决了!!!
直接原因:
有一个或多个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修复它,问题就解决了!!!
ASP.NET的修复
[ 2004/11/24 17:13 | by gOxiA ]
一般IIS运行不了ASP.NET,试一下下面四种方法,99%有效:
1).NET 安装的顺序应该是先装IIS,再装VS.NET,如果次序反了,或者IIS重装了,就
需要使用aspnet_regiis.exe -i来重新安装IIS Mapping(主要用于aspx, asmx等文件
的Extention的匹配)。在C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705目录下,
运行下面的命令:
aspnet_regiis.exe -i
2)重设ASPNET的密码,然后在下面的目录中找到Machine.config文件:
%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG (Systemroot是你的安装
目录),在标识中添加/修改:
userName和password
3)如果还不行,重装IIS,然后再按照方法1进行操作
4)如果你的机器是域控制器,你可以参考Q315158:ASP.NET Does Not Work with
ASPNET Account on Domain Controller:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q315158&
大致操作步骤:
1)在Administrative Tools->Active Directory Users and Computers中建立一个名
为ASPUSER的用户,将该用户添加到用户组中(默认情况下已在User Group中)
2)在Administrative Tools->Local Security Settings->Local Policy->User
Right Assignment中,双击右栏的Log on as a batch job项,在弹出的窗口中点击
Add,选择或输入刚才建立的ASPUSER帐号,确定。(需要重启机器)
3)确保ASPUSER帐号有相应文件、目录的访问权限
4)在下面的目录中找到Machine.config文件:
%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG (Systemroot是你的安装
目录),在标识中添加/修改:
userName="DomainName\ASPUSER" password="ASPUSERpassword" 其中ASPUSERpassword
是刚刚建立的ASPUSER的密码,DomainName是域名 (重启机器)
1).NET 安装的顺序应该是先装IIS,再装VS.NET,如果次序反了,或者IIS重装了,就
需要使用aspnet_regiis.exe -i来重新安装IIS Mapping(主要用于aspx, asmx等文件
的Extention的匹配)。在C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705目录下,
运行下面的命令:
aspnet_regiis.exe -i
2)重设ASPNET的密码,然后在下面的目录中找到Machine.config文件:
%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG (Systemroot是你的安装
目录),在标识中添加/修改:
userName和password
3)如果还不行,重装IIS,然后再按照方法1进行操作
4)如果你的机器是域控制器,你可以参考Q315158:ASP.NET Does Not Work with
ASPNET Account on Domain Controller:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q315158&
大致操作步骤:
1)在Administrative Tools->Active Directory Users and Computers中建立一个名
为ASPUSER的用户,将该用户添加到用户组中(默认情况下已在User Group中)
2)在Administrative Tools->Local Security Settings->Local Policy->User
Right Assignment中,双击右栏的Log on as a batch job项,在弹出的窗口中点击
Add,选择或输入刚才建立的ASPUSER帐号,确定。(需要重启机器)
3)确保ASPUSER帐号有相应文件、目录的访问权限
4)在下面的目录中找到Machine.config文件:
%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG (Systemroot是你的安装
目录),在标识中添加/修改:
userName="DomainName\ASPUSER" password="ASPUSERpassword" 其中ASPUSERpassword
是刚刚建立的ASPUSER的密码,DomainName是域名 (重启机器)
Slow shutdown of Windows 2003 Server after installing Exchange 2003 Server
[ 2004/11/23 11:59 | by gOxiA ]
Author: Yuval Sinay MVP
COMMUNITY SOLUTIONS CONTENT DISCLAIMER
MICROSOFT CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, OR ACCURACY OF THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN. ALL SUCH INFORMATION AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, TITLE AND NON-INFRINGEMENT. YOU SPECIFICALLY AGREE THAT IN NO EVENT SHALL MICROSOFT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OF OR INABILITY TO USE THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IF MICROSOFT OR ANY OF ITS SUPPLIERS HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES.
SYMPTOMS
After installing Exchange 2003 Server on Windows 2003 Server, the shutdown time of the server increses significantly.
CAUSE
This happens with Exchange 2003 (and sometimes even with Exchange 2000 for that matter), because Active Directory services shuts down before Exchange services shut down. It happens more often on Exchange 2003 because service shutdown in Windows 2003 has been accelerated.
RESOLUTION
There are three options to fix/avoid this problem:
1. Shutdown Exchange services by using a batch command, before you shutdown the server.
The following command can be used:
net stop "Microsoft Exchange System Attendant" /y
2. Stop "WinHTTP Web Proxy Auto-Discovery Service" service manually, before you shutdown the server.
The following command can be used:
net stop "WinHTTP Web Proxy Auto-Discovery Service" /y
3. Decrease the value of "WaitToKillServiceTimeout" in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WaitToKillServiceTimeout
The default value of "WaitToKillServiceTimeout" are: 600000 and should be changed to lower number.
This value should be found by experiments and may impact other services in the system and this change is not
supported by Microsoft.
4. Change the location of Exchange database to other partition then system partition.
Note: If the problem occur on Windows Small Business Server 2003, please review:
http://support.microsoft.com/?kbid=827610
原文:
http://support.microsoft.com/default.aspx?scid=kb;en-us;555025
COMMUNITY SOLUTIONS CONTENT DISCLAIMER
MICROSOFT CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, OR ACCURACY OF THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN. ALL SUCH INFORMATION AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, TITLE AND NON-INFRINGEMENT. YOU SPECIFICALLY AGREE THAT IN NO EVENT SHALL MICROSOFT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OF OR INABILITY TO USE THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IF MICROSOFT OR ANY OF ITS SUPPLIERS HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES.
Article ID : 555025
Last Review : March 31, 2004
Revision : 1.0
Last Review : March 31, 2004
Revision : 1.0
SYMPTOMS
After installing Exchange 2003 Server on Windows 2003 Server, the shutdown time of the server increses significantly.
CAUSE
This happens with Exchange 2003 (and sometimes even with Exchange 2000 for that matter), because Active Directory services shuts down before Exchange services shut down. It happens more often on Exchange 2003 because service shutdown in Windows 2003 has been accelerated.
RESOLUTION
There are three options to fix/avoid this problem:
1. Shutdown Exchange services by using a batch command, before you shutdown the server.
The following command can be used:
net stop "Microsoft Exchange System Attendant" /y
2. Stop "WinHTTP Web Proxy Auto-Discovery Service" service manually, before you shutdown the server.
The following command can be used:
net stop "WinHTTP Web Proxy Auto-Discovery Service" /y
3. Decrease the value of "WaitToKillServiceTimeout" in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WaitToKillServiceTimeout
The default value of "WaitToKillServiceTimeout" are: 600000 and should be changed to lower number.
This value should be found by experiments and may impact other services in the system and this change is not
supported by Microsoft.
4. Change the location of Exchange database to other partition then system partition.
Note: If the problem occur on Windows Small Business Server 2003, please review:
http://support.microsoft.com/?kbid=827610
原文:
http://support.microsoft.com/default.aspx?scid=kb;en-us;555025