您现在的位置:小学生自学网>> 信息>> 学习电脑

w3wp.exe内存占用过高的解决方法

作者: 来源: 发布时间:2010年06月07日 点击数:
 

IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。

由于内存释放不及时严重影响到服务器的正常运营,建议采用以下配置,但请考虑自身服务器的使用情况。


可以做以下配置:


1
、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。(进程池越多越占用内存,由于访问网站之后往往不会立即释放内存资源。)


2
、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存

3
、设置固定时间加收进程,比如在凌晨1:009:00之前访问人数都比较少,影响很少小,可以设定每天在这个时间段内进行内存回收,以减少服务器因为内存不足带来的影响。设定固定的时间在IIS6中没有限制次数,可以根据实际情况来设定时间比如:晚上12:008:0012:30,6:30等时间段时间有效的进程池资源回收。


一般来说,这样就可以解决了。但仍然会出现个别网站因为程序问题,不能正确释放。


那么,怎么样才能找到是哪一个网站的?
1
、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid

2
、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池


3
、到iis中察看该应用程序池对应的网站,就ok了。

Windows Server 2003
中的w3wp.exe进程大量占用cpu资源的各种问题解决方法2007-04-24 14:43这几天服务器总是运行缓慢,远程登录后发现一个w3wp.exe的进程占用了100%cpuWindows   Server   2003中对于每一个Web应用,IIS   6.0都用一个独立的w3wp.exe的实例来运行它。w3wp.exe也称为工作进程(每一个主机头都会有一个)直接在任务管理器中结束进程是不起作用的,结束后不久它会执行启动,要想结束它可以在IIS中找到相应的应用程序池停止相应的应用程序池工作。

这些都不是解决办法,它的根本问题是你的那个网站程序有问题,在找到问题以前可以先打开IIS找到应用程序池先用右键属性中设置性能把其中的CPU设成大于60%关闭应用程序池,把关闭时间和开启时间设短一些比如10秒,这样当您的网站程序大量占用系统资源时IIS自动快速回收进程并且快速启动进程,您的网站暂时还可以将就着工作。

要解决根本问题还要从程序查起,您可以在IIS中的应用程序池中右键创建多个应用程序池,然后在每个主机头中的文件家选项的底部将应用程序池对应道刚才建好的应用程序池,然后一个一个关闭在任务管理器中看看是哪个程序占用的资源较大。