百科网

首页 > 科技数码

科技数码

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

科技数码佚名2023-01-15

对于互联网信息服务管理员来说,在管理的过程中经常会碰到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日志导入到数据库中等操作,也会造成此现象。

解决办法: