`
silentlakeside
  • 浏览: 108867 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

IIS“页面无法显示”的故障及其解决方法

IIS 
阅读更多

1、 运行环境
        服务器操作系统:Microsoft Windows Server 2003 Enterprise Edition Service Pack 1
        服务器IIS:6.0
        客户端:IE5.5+

2、故障现象:
        客户端无法访问Web服务器,错误信息是"页面无法显示",服务器上检查IIS时未发现停止运行,但就是无法访问(即使是静态页面)。查阅windows 安装目录下的system32\LogFiles\HTTPERR\httperrXXX.log(XXX表示数字)文件,发现多条日志都报 Number_Connections_Refused错误(Number是一个整数如1、2、3等)。重启IIS无法解决问题,都是通过重启电脑解决。

3、网上搜索结果:
        经搜索,原因可能是nonpaged pool memory(非分页池内存)不够。搜索到以下文档:

  • 微软的官方文档:http://support.microsoft.com/kb/934878/en
  •  一个诊断具体原因的方法:http://jackyhawk.blog.hexun.com/9608276_d.html ,该方法使用了安装盘内Support.cab里面的Poolmon.exe,可直接将Support.cab里面的Poolmon.exe解压出来执行
  • Poolmon的使用说明:http://support.microsoft.com/?id=177415
  • 另一个诊断具体原因的方法:http://www.ks-soft.net/cgi-bin/phpBB/viewtopic.php?t=2477


4、Poolmon监测结果
        使用Poolmon监测后发现IIS所使用的tag占用的非分页内存并没有达到20MB的限制,而一个名为Ddk的tag则是每天都增长若干MB直至整个 nonpaged pool memory达到上限导致IIS拒绝服务。微软提供的pooltag.txt里对Ddk的说明是:Ddk  - <unknown>    - Default for driver allocated memory (user's of ntddk.h)。
        如下表所示,到IIS拒绝服务的时候,nonpaged pool memory已经达到上限110MB,而Ddk tag也已经达到了74MB的数量(一般服务器刚启动的时候Ddk只占用不到1MB)。
        Memory: 3669472K Avail: 2629568K  PageFlts:   214   InRam Krnl:10920K P:146036K
         Commit:1237096K Limit:5618588K Peak:1907340K            Pool N:110360K P:154684K
         System pool information
         Tag      Type      Allocs                         Frees                                Diff          Bytes                             Per Alloc

         Ddk       Nonp    2484310 (  13)         1693491 (  13)                790819   73677496 (     0)          93
          WFC    Nonp  387717051 (1584)   387571218 (21112)     145833   5924760 (-745208)     40
         LSwi     Nonp          1 (   0)                 0 (   0)                               1              2584576 (     0)             2584576
         MmCm Nonp         40 (   0)               10 (   0)                             30            1786400 (     0)             59546
         TCPt     Nonp    7962320 (  77)        7962290 (  77)                30            1456744 (     0)            48558

5、故障诊断
        既然确定了主要是Ddk造成nonpaged pool memory不足,那么下一步就是查找出使用了Ddk的驱动程序。在windows安装目录\system32\drivers目录下使用findstr /s /m /l "Ddk" *.sys可以找出哪些驱动程序里面使用了Ddk。查找到以下结果:

  • WINDOWS\system32\drivers\CpqCiDrv.sys
  • WINDOWS\system32\drivers\CPQCISSE.SYS
  • WINDOWS\system32\drivers\iqvw32.sys
  • WINDOWS\system32\drivers\storport.sys
  • WINDOWS\system32\drivers\tmtdi.sys
  • WINDOWS\system32\drivers\TM_CFW.sys

        从这里还是看不出具体属于哪些程序。我的方法是在注册表里搜索这些sys文件的文件名(去除.sys后缀后的名字),查找出前2个sys文件属于HP的一 个工具软件,后2个文件属于趋势防病毒软件,中间2个没有找到,但是在WINDOWS\ServicePackFiles\i386下找到同名文件,因此 可以认为他们是操作系统的驱动程序。
        找到了这些源头,那么就可以使用排除法(一个个卸载他们)确定到底是哪一个有问题或者是都有问题了(操作系统的那2个驱动卸载不了)。需要注意的是,卸载 之后需要重启电脑才能发现变化,否则nonpaged pool memory仍然会按原来的速度持续增长。还有一个要注意的是,排除掉故障源并重启电脑后nonpaged pool memory会增长一段时间(我这里是一天多,这个增长我认为是正常的,服务器各项应用都起来了并达到饱和状态的时候,消耗的nonpaged pool memory应该会比刚启动的时候多),然后稳定下来,而Ddk则基本不见增长。下面列出稳定下来的时候的poolmon监测结果:
        Memory: 3669472K Avail: 2851396K  PageFlts:   469   InRam Krnl: 2556K P:123992K
         Commit:1130100K Limit:5618588K Peak:1217596K            Pool N:31364K P:125092K
         System pool information
         Tag        Type     Allocs                    Frees                     Diff       Bytes                        Per Alloc

         File        Nonp    4900398 ( 221)   4874531 ( 219)    25867 4022408 (   304)    155
         Ntfr        Nonp      76508 (   0)        35611 (   0)            40897 2618376 (     0)       64
         LSwi     Nonp          1 (   0)              0 (   0)                     1          2584576 (     0)       2584576
         MmCa  Nonp     267906 (   1)        245131 (   4)         22775 2544880 (  -288)    111
         MmCm Nonp         40 (   0)             10 (   0)                  30        1786400 (     0)        59546
         ……
         Ddk        Nonp         19 (   0)              15 (   0)                  4         29680 (     0)             7420

分享到:
评论

相关推荐

    关于iis装好后 无法浏览asp的终极解决方案

    完成以上步骤后,重启IIS服务,通常可以解决IIS无法解释ASP页面的问题。如果问题依然存在,可能需要检查其他配置设置,如ASP相关设置、权限设置等,或者查找其他可能的故障源。 总之,对于IIS安装后无法浏览ASP页面...

    IIS常见问题的解决

    #### 四、IIS无法启动及常见故障排查 **问题描述:** 当尝试启动IIS时,可能会遇到无法启动的情况,或是启动后某些功能无法正常使用。 **解决方案:** 1. **检查日志文件**:查看%WinDir%\System32\LogFiles目录下...

    iis5.0编程必备

    - 安装时需注意阅读提供的说明文档,了解可能遇到的问题及解决方法。 - 关注解压目录设置,确保安装文件放置在正确的位置,以免引发路径错误。 3. **IIS5.0配置** - 配置网站:包括设置网站的主目录、默认文档、...

    IIS运行管理工具

    "IIS添加的Mime类型整理.docx"可能包含了常见文件类型及其对应的Mime类型,如.text/plain对应纯文本,application/pdf对应PDF文件等。正确设置Mime类型对于确保浏览器正确显示内容至关重要。 5. **IIS运行管理工具-...

    网站iis大全.docx

    总的来说,IIS的部署和网站创建涉及多个环节,理解每个步骤的含义并熟练掌握可能出现的问题及其解决方案,是IT运维人员必备的技能。通过上述的详细步骤和常见问题解答,希望能帮助读者更好地理解和处理IIS服务器的...

    IIS_xp sp3

    5. **配置与管理**:IIS的配置包括站点设置、应用程序池配置、日志记录、错误页面定制等。管理员可以通过IIS管理控制台进行这些操作,也可以通过命令行工具如`inetmgr`进行管理。 6. **FTP服务**:IIS提供内置的FTP...

    win2003+IIS6错误合集

    ### Win2003 + IIS6 错误合集详解 #### 1....以上列举了在使用Win2003 + IIS6环境中可能遇到的一些典型错误及其解决方案。这些故障排除步骤旨在帮助管理员快速定位问题根源,并采取有效措施解决问题。

    IIS配置

    IIS(Internet Information Services)是微软公司提供的集成式互联网服务解决方案,主要用于在Windows操作系统上托管Web应用程序和服务。IIS支持多种协议,包括HTTP、HTTPS、FTP等,并提供了丰富的功能来管理网站、...

    Professional Microsoft IIS 8

    - **服务器角色和功能**:了解 IIS 作为核心服务器的角色及其提供的功能。 - **性能优化**:通过调整配置参数来提高服务器性能。 - **故障排除**:使用诊断工具定位问题并解决问题。 **3.2 服务器扩展性** - **...

    彻底掌握 IIS6 功能及应用详解

    8. **故障排除**:利用事件查看器、IIS日志和错误消息来诊断和解决服务器问题。 ### 学习资源 压缩包中的`彻底掌握IIS6_0功能及应用详解1.mht`和`彻底掌握IIS6_0功能及应用详解2.mht`文件,提供了详细的IIS6.0配置...

    IIS所需dll文件

    以下是给定的DLL文件及其在IIS中的作用: 1. asp51.dll:这是ASP(Active Server Pages)的组件,负责处理ASP脚本。它包含了执行ASP页面所需的核心引擎,使开发者可以使用脚本语言(如VBScript或JScript)创建动态...

    IIS与Apache优缺点

    1. **紧密集成**:IIS是专为Windows操作系统设计的,与Windows Server 2003及其后续版本紧密集成,提供了无缝的系统管理体验。这使得IIS在Windows环境中管理更加便捷,可以通过标准的OS工具和设备进行控制。 2. **...

    Windows_Xp下IIS配置ASP_net的运行环境

    本文将详细讲解如何解决XP IIS下配置.NET的问题,包括ASP和ASPX页面无法正常显示的常见故障及其解决方案。 首先,我们需要确认COM+是否配置正确。COM+是微软的一种组件服务技术,对于ASP.NET的执行至关重要。运行`...

    iis出现错误后如何完全重装

    当常规的故障排查方法无法解决问题时,彻底卸载并重新安装IIS往往是一种有效的解决策略。下面将详细介绍这一过程。 #### 一、为什么会出现HTTP 500错误? HTTP 500错误通常由以下几种原因引起: 1. **配置文件错误...

    精通IIS7电子书2008版

    同时还提到了在安装过程中可能遇到的问题及其解决方法。 #### 二、管理(Part II: Administration) ##### 第5章:管理工具(Chapter 5: Administration Tools) 为了更好地管理IIS 7.0,本章介绍了各种管理工具的...

    对于服务器拒绝访问的故障[参考].pdf

    ### 服务器拒绝访问故障及其解决方案 #### 一、概述 在IT运维中,服务器拒绝访问是一种常见的故障现象,尤其在软件开发与维护过程中更为常见。本文档旨在针对服务器拒绝访问故障进行深入剖析,并提供一系列解决...

    无法在WEB服务器调试问题解决

    ### 无法在WEB服务器调试问题解决 #### 一、概述 在进行Web开发时,开发者经常会遇到无法在Web服务器上进行调试的问题。这类问题可能由多种因素引起,包括但不限于配置错误、权限设置不当、环境变量缺失等。本文将...

    IIS出现错误后如何完全重装

    当常规的故障排查与修复手段无法解决问题时,进行一次彻底的卸载与重装可能是必要的解决方案之一。本文将详细介绍如何在遇到IIS问题时进行完全重装的过程,特别是针对ASP.NET相关的错误。 #### 准备工作 在进行IIS...

    IIS_SP3 windows xp pro

    5. **故障排查**:列出常见问题及其解决方案,帮助用户解决IIS在XP SP3上遇到的问题。 通过学习和理解这些内容,用户不仅可以掌握IIS的基础知识,还能深入理解ASP和ASP.NET的开发,从而在Windows XP Pro环境中创建...

Global site tag (gtag.js) - Google Analytics