ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU近100%导致网站反应速度缓慢的解决方案

2022-08-16 23:00:22  阅读:170  来源: 互联网

标签:exe 网站 占用 应用程序 站点 内存 进程


iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU近100%导致网站反应速度缓慢的解决方案

如何降低W3WP.EXE占用的内存和CPU?结合网上的诸多建议,主要的解决办法是:

a.在IIS中对每个网站进行单独的应用程序池配置;

b.合理的配置你的应用程序池;

c.找出具体网站站点的程序问题。

问题描述

环境:win2003server+IIs+ASP+MSSQL

现象:每隔一段时间(不定,有时几分钟,有时半小时)出现一次网站打开非常缓慢,甚至有时会出现超时打不开站点,此时查看服务器端的进程,CPU占用率达到100%,其中w3wp占用超过80%,于是所有服务器端的操作也变得缓慢。

简单解决方法:每次现象出现时,立即登录服务器直接结束w3wp进程或重启IIS服务。

解决方案参考

针对该类问题,具体可参考如下所述方法来逐步寻找根本的解决途径:

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

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

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

一般来说,做完以上操作就可以解决了。但仍然会可能出现因为个别网站的程序问题,不能及时释放资源。所以我们可以找出该网站,然后调试分析其程序问题所在。

那么,怎么样才能确定是哪一个网站呢?参考方法如下:

1、在任务管理器中增加显示pid字段。方法为:打开任务管理器-切换到《详细信息》,在列表上点右键,选中“PID(进程标识符)”前的复选框。这样就可以看到占用内存或者cpu最高的进程pid。

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

3、到iis中察看该应用程序池对应的网站,进行更详细的分析,具体问题具体对待。

最后的补充

总结一些需要注意的问题:(摘)

1、 要限制一个站点的CPU使用,必须将该站点设置为独立应用程序池,共用应用程序池是无法限制单个站点的。IIS独立应用程序池,就需要独立的进程,非常消耗内存。独立池越多,就有越多的W3WP进程。对 于每个站点均要独立应用程序池的服务器,在一般的普通P43.0 2G内存 的普通服务器上,建议不要超过50个站点,最好30以内,不然服务器压力非常大。在配置上,我一般把资源消耗较大的网站独立一个池,一般普通BBS或者生 成HTML的系统大概5个站一个池。普通网站以及一些企业站点均共用一个池。

2、根据wlmmc的经验,在服务器硬件允许的情况下,一般不要限制站点内存使用,这样能够保证网站运行,不会出现用户掉线情况。需要限制某站的最大虚拟内存不要小于64M,不然可能出现一些未知的错误。

3、这些都不是根本解决办法,它的根本问题是网站程序有问题,要解决根本问题还要从程序查起。根据本文开头提到的方法查到具体的应用程序池,找到使用此应用程序池的网站,解决网站程序存在的问题,如死循环之类。

4、除了w3wp.exe, 在调用数据库进行大量查询操作的时候,也会大量占用CPU资源,这是难免的(数据库方面的语句及结构优化不在本文讨论范围之内)。个人认为,只要不是CPU长时间占用100%, 一般在75%左右都是正常的。

https://blog.csdn.net/goolean/article/details/125441941

标签:exe,网站,占用,应用程序,站点,内存,进程
来源: https://www.cnblogs.com/sunny3158/p/16593323.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有