当前位置: 首页 > Web与应用 > 正文

老习惯,依旧记录下来。

今天遇到这个问题,某台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。

Connections_refused图1

 

搜索分析后得知“非分页缓冲池内存不足”造成的。

来自微软官方网站:http://support.microsoft.com/kb/934878/zh-cn

原因:

服务器上的可用非分页缓冲的池内存小于 20 兆字节 (MB) 时,会出现此问题。可用非分页缓冲的池内存小于 20 兆字节 (MB) 时,Http.sys 内核模式驱动程序将停止接受新连接。

在已在 Boot.ini 文件在服务器上启用的/3GB开关的情况下,可能发生此问题。

 

方法:

重要此部分、方法或任务包含告诉您如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重问题。因此,请确保仔细按这些步骤操作。为增加保护,先备份注册表再对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

322756如何在 Windows XP 中备份和还原注册表

若要变通解决此问题,请添加到下面的注册表子项的 EnableAggressiveMemoryUsage 注册表项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters

然后,将 EnableAggressiveMemoryUsage 注册表项设置为 1。

若要执行此操作,请执行以下步骤:

  1. 单击开始运行,在打开框中键入 regedit ,然后单击确定
  2. 请单击下面的注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. 编辑菜单上指向新建,然后单击DWORD 值
  4. 键入EnableAggressiveMemoryUsage,,然后按 enter 键。
  5. 编辑菜单中,单击修改
  6. 值数据框中,键入 1,然后单击确定
  7. 文件菜单上,单击退出以退出注册表编辑器。
  8. 重新启动 HTTP 服务。若要执行此操作,请执行以下步骤:
    1. 单击开始,单击运行,在打开框中,键入cmd ,然后单击确定
    2. 在命令提示符下,键入net stop http /y,,然后按 ENTER。
    3. 在命令提示符下,键入iisreset /restart,然后按 ENTER。

 

在尝试后网站恢复正常,其余待观察。

[分享]解决IIS6出现Connections_refused导致网站无法打开:等您坐沙发呢!

发表评论