IIS 无法打开页面,只能重启的问题

最终解决方案:

要变通解决此问题,启用 EnableAggressiveMemoryUsage 注册表项在注册表中。当启用了 EnableAggressiveMemoryUsage 注册表项 Http.sys 驱动程序会停止接受新的连接时 LowNonPagedPoolCondition 事件的通知是驱动程序。此事件发生时可用的非分页缓冲的池内存为少于 8 MB。这些值可能会更改在将来的版本的 Windows。

若要向注册表中添加 EnableAggressiveMemoryUsage 注册表项,请按照下列步骤操作:

  1. 单击 开始、 单击 运行,键入 注册表编辑器,然后单击 确定。
  2. 找到并单击下面的注册表项:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTPParameters
  3. 在 编辑 菜单上指向 新建,然后单击 DWORD 值。
  4. 键入 EnableAggressiveMemoryUsage,然后按 ENTER 键。
  5. 用鼠标右键单击 EnableAggressiveMemoryUsage、 单击 修改,在 数值数据 框中键入 1,然后单击 确定。
  6. 退出注册表编辑器。
  7. 单击 开始、 单击 运行、 在 打开 框中键入 Cmd,然后单击 确定。
  8. 命令提示符键入 净停止 http/y,然后按 ENTER 键。
  9. 命令提示符键入 net start w3svc,然后按 ENTER 键。

其它的解决方案:

1.前段时间我的web服务器也有类似的问题,搞了半天也没有搞好,后来安装最新的sp+所有新补丁就好了 (不可取)

2.IIS应用程序池设置不合理造成的
首先访问量大的站点要单独自己一个应用程序池
其次应用程序池属性的参数设置注意一下几点
回收中仅设置指定时间回收
性能中去掉请求队列限制的勾
运行状况里去掉启用快速失败保护的勾,关闭时间限制设置到180秒以上
标识中预定义账户改为本地系统   (优先考虑这个方案)

3.连接数超过了限制。
使用NET STOP W3SVC停止然后再NET START W3SVC试试。
此外,修改连接池中的连接数量。

还有,重新设定ASP中SESSION的超时,使IIS能较快地释放无效资源和连接。 

4.检查程序,是否有死循环,资源没有是否(如:数据库连接没有close,  非托管代码(c/c++ DLL)没有释放)

5.根据系统事件日志,查看“应用程序” 和 “系统”  中是否有IIS相关的错误。

转载地址:http://www.camnpr.com/archives/577.html

原文地址:https://www.cnblogs.com/Mwsoft/p/5075154.html