win7之家
当前位置:主页 > 系统教程 >

xp系统下w3wp.exe进程占用太多CPU内存如何处理

  • 作者:shs
  • 来源:互联网整理
  • 更新时间:2018-08-30 08:30:22
  • 浏览数:

使用windows xp系统的用户表示,发现系统越来越慢,打开任务管理发现w3wp.exe进程占用了大量的CPU内存空间,从而导致系统运行速度变慢;那么什么是w3wp.exe进程?w3wp.exe是IIS工具的一部,w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,那么当遇到这样的一个问题我们应该处理呢?一起来看看解决方法吧!


常见原因如下:

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,会出现下图中的信息:

xp系统下w3wp.exe进程占用太多CPU内存

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


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


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


二、重启IIS和应用程序池

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


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

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


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


四、检查页面逻辑

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


以上便是关于xp系统下w3wp.exe进程占用太多CPU内存的解决方法,知道故障原因,然后对症下药,希望教程内容能够帮助到大家!

版权声明:本站收录的文章及教程都是本站小编精心制作,仅供学习交流之用,如转载请注明出处。劳动最光荣,请尊重!

  • 猜你喜欢
 分类

xp系统下w3wp.exe进程占用太多CPU内存如何处理

作者:shs

来源:互联网整理

更新时间:2018-08-30 08:30:22

浏览数:

文章内容

使用windows xp系统的用户表示,发现系统越来越慢,打开任务管理发现w3wp.exe进程占用了大量的CPU内存空间,从而导致系统运行速度变慢;那么什么是w3wp.exe进程?w3wp.exe是IIS工具的一部,w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,那么当遇到这样的一个问题我们应该处理呢?一起来看看解决方法吧!


常见原因如下:

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,会出现下图中的信息:

xp系统下w3wp.exe进程占用太多CPU内存

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


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


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


二、重启IIS和应用程序池

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


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

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


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


四、检查页面逻辑

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


以上便是关于xp系统下w3wp.exe进程占用太多CPU内存的解决方法,知道故障原因,然后对症下药,希望教程内容能够帮助到大家!

猜你喜欢的系统教程

本站所有软件来自于互联网,
版权属原著所有,如有需要请购买正版。
如有侵权,敬请来信联系我们,我们立刻删除
Copyright © 2004-2016
Win7系统之家(www.win764.org).All Rights Reserved