老习惯,依旧记录下来。
今天遇到这个问题,某台VPS 2003系统 IIS服务,所有站点都出现无法打开的情况,经查80端口没有被其他程序占用。
重启IIS无效。
查看系统日志文件,并没有出错,只有一条早些时候的“错误应用程序 w3wp.exe,版本 6.0.3790.3959,错误模块 unknown,版本 0.0.0.0,错误地址 0x07fcfdf4”。但没法确认是否有直接关系。
唯独一个怀疑修改了IIS的什么参数,于是把MetaBase.xml文件使用history目录中之前自动备份的替换过,无效。
分析HTTPERRxxx.LOG文件,发现出现了大量Connections_refused(连接拒绝)的情况。如图1。
搜索分析后得知“非分页缓冲池内存不足”造成的。
来自微软官方网站:http://support.microsoft.com/kb/934878/zh-cn
原因:
服务器上的可用非分页缓冲的池内存小于 20 兆字节 (MB) 时,会出现此问题。可用非分页缓冲的池内存小于 20 兆字节 (MB) 时,Http.sys 内核模式驱动程序将停止接受新连接。
在已在 Boot.ini 文件在服务器上启用的/3GB开关的情况下,可能发生此问题。
方法:
重要此部分、方法或任务包含告诉您如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重问题。因此,请确保仔细按这些步骤操作。为增加保护,先备份注册表再对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
若要变通解决此问题,请添加到下面的注册表子项的 EnableAggressiveMemoryUsage 注册表项:
然后,将 EnableAggressiveMemoryUsage 注册表项设置为 1。
若要执行此操作,请执行以下步骤:
- 单击开始、运行,在打开框中键入 regedit ,然后单击确定
- 请单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- 在编辑菜单上指向新建,然后单击DWORD 值
- 键入EnableAggressiveMemoryUsage,,然后按 enter 键。
- 在编辑菜单中,单击修改
- 在值数据框中,键入 1,然后单击确定
- 在文件菜单上,单击退出以退出注册表编辑器。
- 重新启动 HTTP 服务。若要执行此操作,请执行以下步骤:
- 单击开始,单击运行,在打开框中,键入cmd ,然后单击确定
- 在命令提示符下,键入net stop http /y,,然后按 ENTER。
- 在命令提示符下,键入iisreset /restart,然后按 ENTER。
在尝试后网站恢复正常,其余待观察。
[分享]解决IIS6出现Connections_refused导致网站无法打开:等您坐沙发呢!