IIS故障(Connections_Refused)问题分析及处理
IIS故障问题分析及处理: 针对IIS服务器出现的“Connections_Refused”错误问题,我们首先要了解IIS服务器的基本工作原理及其故障排查方法。IIS(Internet Information Services)是Windows系统中用于承载Web服务的组件,它负责处理HTTP请求,并将请求转发给相应的Web应用程序。当遇到“Connections_Refused”错误时,意味着IIS的Http.sys服务拒绝了新的连接请求。该问题通常是由于IIS服务器的非分页缓冲池内存不足所导致的。 非分页缓冲池内存是一种核心内存资源,它不会被操作系统交换到硬盘上,必须常驻物理内存,主要用于系统内核或驱动程序。在32位Windows系统中,该资源的使用上限一般不超过256MB。如果非分页内存池持续增长,超过这个阈值,系统就会变得不稳定。 在处理这类问题时,仅重启IIS服务通常不能解决问题,需要重启整个服务器来释放内存资源。微软官方给出的解决方案包括通过修改注册表项启用“Aggressive Memory Usage”设置,该设置可以让Http.sys服务在非分页缓冲池内存不足时强制释放内存。具体操作步骤包括: 1. 打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters路径; 2. 在此路径下新建一个DWORD值,名称为"EnableAggressiveMemoryUsage"; 3. 将新建项的值设为1; 4. 重启HTTP服务以应用更改,命令行操作包括执行“net stop http/y”和“iisreset/restart”。 通过上述设置后,如果问题依然存在,就需要深入分析系统内存使用情况。使用系统任务管理器中的“性能”选项卡可以查看当前的分页和非分页内存使用情况。如果非分页内存使用量持续增大,就需要考虑是否存在内存泄漏问题。 这时,可以使用Poolmon工具进行核心内存泄漏检测。Poolmon是一个命令行工具,用于监测和诊断Windows内核模式驱动程序和系统内存分配问题。使用Poolmon可以查看所有占用非分页内存的项,并按照使用字节大小降序排列,从而找出持续增长的内存标签。然后,结合驱动程序文件定位内存泄漏的具体模块或驱动程序。 在本案例中,发现杀毒软件和系统驱动程序占用了大量非分页内存,尤其是瑞星和360卫士两款软件。这很可能是因为它们中的某些程序或服务在执行过程中产生了内存泄漏,从而导致非分页缓冲池内存耗尽,最终影响Http.sys服务的正常工作。 解决方案包括卸载可疑的杀毒软件和驱动程序,之后重新安装并更新,确保系统的安全性。在重新安装后,需要继续观察服务器的运行情况和内存消耗,确认问题是否得到解决。 总结来说,处理“Connections_Refused”这类IIS故障时,必须理解Windows核心内存资源的管理机制,分析问题发生的根本原因,使用合适的工具进行检测,并根据结果采取相应的解决措施。在此过程中,合理的系统维护和监控,以及及时更新软件补丁,对于避免类似故障有重要作用。
- 粉丝: 10
- 资源: 864
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PandaUi 是PandaX的前端框架,PandaX 是golang(go)语言微服务开发架构.zip
- v8垃圾回收机制 一篇技术分享文章
- libre后台管理系统前端,使用vue2开发.zip
- Java企业级快速开发平台 前后端分离基于nodejs+vue2+webpack+springboot.zip
- feHelper前端开发助手系统.zip开发
- 决策树回归LATEX编写-基于乳腺癌数据集实践
- java病毒广播模拟.zip
- Java正在成长但不仅仅是Java Java成长路线,但学到的不仅仅是Java .zip
- amis 是一个低代码前端框架(它使用 JSON 配置来生成页面).zip
- 包括一些学习笔记,案例,后期还会添加java小游戏.zip