XP系统w3wp.exe进程CPU占用100%的原因和解决方法

  对于互联网信息服务管理员来说,在管理的过程中经常会碰到Web服务器CPU占用100%的情况,而这主要是w3wp.exe进程占用CPU内存达到100%,下面就针对这一现象来介绍XP系统出现该问题的常见原因和具体解决方案。


  w3wp.exe的解释:全名:IISApplicationPoolProcess,w3wp.exe是IIS工具的一部,w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。

  常见原因如下:

  1.Web访问量大,从而服务器压力大而引起的

  这个也是最常见的情况。如果Web访问量大,特别是同时在线人数过多,处理的Requests Current(当前请求数)过高,就会同时对IIS和服务器造成较大的压力。特别是服务器需要不断的运算,往客户端发送生成后的页面,这些都需要占用大量的CPU资源,从而造成Cpu 100%。

  2.动态页面(.aspx)的程序逻辑复杂程度

  这个问题,对w3wp.exe的CPU占用来说也是蛮严重的,可能在访问量级比较小的情况下并没有多少影响,但是在高并发的网站上面来说,特别是Asp.NET的Requests Current超过250的时候,将会是w3wp.exe占用CPU的一个重要的因素。

  我曾经碰到过这样一个情况,两个web(A和B)在两台配置相当的服务器中部署,且两个站点的访问量都很大,访问页面都集中在两个站点的两个单独页面,且这两个页面的IIS连接数都是50个左右,但是页面程序的复杂程度就错了很多,A站点中的页面,只有几个简单的Repeater绑定,而B站点中的页面,则有大量的绑定、字符串过滤替换、Repeater嵌套绑定等等。这样的情况,在大流量、高并发的环境中,A站点在IIS连接数达到3W多的时候,CPU占用仍然是50%左右,而B站点在IIS连接数达到7K左右的时候,CPU就90%多了,造成了服务器的压力很大,并且IIS遭到了堵塞。

  3.页面程序中有死循环

  如果Web访问量不大,但是CPU却占用很高,那么页面中的程序肯定有死循环或者性能比较严重的程序语句。

  4.Http方式下载的站点

  如果站点是HTTP形式下载站,也遇到过w3wp.exe占用CPU 100%的情况。

  5.服务器资源不会自动释放

  有时,一个站点的流量在一个小时内陡增,结果操作系统分配了比较多的CPU资源,但是当流量下去后,w3wp.exe占用的CPU并没有及时释放,仍然在保持在90%以上。

  6.对IIS日志文件操作

  比如此时分析IIS日志文件里面的数据,把IISLog日志导入到数据库中等操作,也会造成此现象。

  解决办法:

  一、快速定位到出问题的站点

  1、利用iisapp-a命令,快速的定位到出问题的站点。当然如果当前服务器只跑了一个web站点,那么此步骤可以跳过。

  在cmd中输入iisapp-a,会出现下图中的信息:

  2、当然,这个要求你每个站点,都要有独立的应用程序池与之对应,应用程序池的名称,最好就是站点的名称,如下图:

  3、关于IIS的应用程序池的配置,这里就不说了,不懂的可以search下。之后,再打开任务管理器,如下图:

  4、观察进程为w3wp.exe的,查看那个CPU占用的高,再利用其PID于iisapp中列出的结果对比,就能轻松的找出是那个站点占用的CPU过高了。

  二、重启IIS和应用程序池

  此步是紧急处理,一般都是治标不治本的步骤。如果你的站点搭建的有负载均衡(负载均衡、NLB),那么请在负载均衡(负载均衡、NLB)把当前服务器下了,然后重启。如果你没有负载均衡(负载均衡、NLB),而且你的站点又是在线的,那么,就悲剧10多秒吧,短暂的不能访问吧。

  三、给页面加上页面级别缓存

  如果Web是Asp.Net程序,那么请一定要。但是有好多人都没有用好OutputCache,导致经常出现下载页面的问题,所以都放弃了使用,这里有OutputCache导致页面下载的解决办法。

  OutputCache非常有用,好处有三:直接从内存读页面,页面响应速度更快,用户体验更好;大大的降低了服务器的压力,特别是对于高并发的网站,特别是CPU的压力;减少了DB的强求,降低DB(数据库)的压力。

  四、检查页面逻辑

  如果WEB流量很低,但是还有w3wp.exe(IIS) CPU占用100%左右的情况,那么就检查页面的代码逻辑吧,很有可能是死循环或大量的运算导致。

  以上便是关于w3wp.exe进程占用CPU内存100%问题的介绍,其中介绍了出现该情况的原因,同时也讲解了具体的解决办法,如果互联网信息服务管理员或用户碰到该问题无法解决的话,就可以尝试用上面的方法来解决。

推荐阅读

    如何将Win8升级Win8.1系统

    如何将Win8升级Win8.1系统,系统,升级,自动更新,点击,更新,下载,重启,  用过Win8的用户都知道,Win8没有开始菜单的,所以用起来很是不习惯。

    WinXP系统菜单的清理方法

    WinXP系统菜单的清理方法,清理,方法,系统,运行,菜单,右键菜单,文档,  XP电脑使用久了之后,大家有没有觉得电脑的运行速度越来越慢了呢?导

    inetinfo.exe是什么进程

    inetinfo.exe是什么进程,进程,情况,服务器,服务,运行,映射,发现,  inetinfo.exe进程是一IIS管理服务助手,有时候我们可以在进程中看到TA

    Win10如何优化系统

    Win10如何优化系统,优化系统,优化,时代,选择,系统,设置,系统保护,  Win10系统是应该全新的系统,各个功能都和其它版本系统都不一样,而且还

    Win7软件和系统不兼容如何解决

    Win7软件和系统不兼容如何解决,不兼容,系统,该软件,最新版本,方法,法二,兼容问题,  win7系统现在一般都很普遍,基本上win7的用户是比较多

    Win7如何打开系统服务

    Win7如何打开系统服务,系统服务,方法,系统,服务,查看,点击,标签,  系统服务作为计算机系统的重要组成部分,发挥着重要的作用。我们可以通

    Win10系统dns服务器未响应如何修复

    Win10系统dns服务器未响应如何修复,服务器,未响应,点击,修复系统,系统,选择,右键,  越来越多的朋友都在使用Win10系统,所以各种问题也就

    Linux系统halt命令参数如何使用

    Linux系统halt命令参数如何使用,参数,命令,系统,重启,关机,执行,调用,  linux系统应该比较少人在使用吧,还是很多人对Linux系统不是很熟

    Win7系统使用Intel MY WiFi技术的方法

    Win7系统使用Intel MY WiFi技术的方法,方法,启用,点击,系统使用,网络,配置,设置,  相信很多用户对MY WiFi技术还不是很了解,其实它是一款

    Win10系统OneNote怎么开启自动同步

    Win10系统OneNote怎么开启自动同步,同步,开启,系统,方法,设置,支持,适合,  OneNote是微软开发的一款云笔记应用,通常用于团队协同,适合公