windows
非分页缓冲池内存不足故障一例
(-09-09 15:04:37)iis6.0站点打不开,找不到服务器或 DNS 错误。
问题:
iis装好后,运行了一段时间;一个月后有一天打开网站,却显示该页无法访问,telnet
端口开始可以,但后来执行telnet时,连接后会立刻断开。最后发现IIS的日志:D:\WINDOWS\system32\LogFiles\HTTPERR\httperr1.log
这个文件中有很多错误:
-07-02 01:13:17 – - – - – - – - – 2_Connections_Refused -
-07-02
01:13:22 – - – - – - – - – 16_Connections_Refused -
-07-02 01:13:17 – - –
- – - – - – 2_Connections_Refused -
-07-02 01:13:22 – - – - – - – - –
16_Connections_Refused -
原因:查资料后,发现默认情况下,如果可用的非分页缓冲池内存不足 20MB,IIS 6.0 中的 HTTP
服务停止接受连接,所以当时重启IIS也没有用,只能重启服务器释放了,微软官方说可以在注册表里把 EnableAggressiveMemoryUsage
值设为1解决。
解决:/kb/934878/zh-cn
对于Number_Connections_refused 错误,可以通过如下解决:
要变通解决此问题,请将该
EnableAggressiveMemoryUsage 注册表项添加到以下注册表子项中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
然后,将
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 键。
============================================================================================
对于Timer_MinBytesPerSecond
错误或 Timer_ConnectionIdle 错误,网上解释与iis设置有关,可以通过如下解决:
1) 从 IIS 管理器右键单击
Internet Information Server (IIS) 管理器级别根目录上并转到属性。选中要启用直接编辑元数据库框。 单击确定。
2)
在记事本中打开 C:\Windows\system32\inetsrv\MetaBase.xml 文件,搜索有关 " MinFileBytesPerSec "。
将用于 MinFileBytesPerSec 设置从 240 更改为 0。 执行其他搜索, 该时间将 600 " ConnectionTimeout "。
保存更改并退出。
3) 重新启动 IISAdmin 服务以更改生效。
转载:/zhmzjs/item/f5c2b2c0fa64e1ba0d0a7b02