关于应用程序池的问题(服务器的w3wp进程占用的cpu和内存过多)
服务器上w3wp进程有的时候瞬间占用40%以上cpu,内存显示占用200,估计实际上占用的更多。这种问题的解决查了一下,说iis6.0w3wp特有的弊端就是占用内存和cpu过多。
在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。今天研究了一下,可以做以下配置:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存一般来说,这样就可以解决了。
但仍然会出现个别网站因为程序问题,不能正确释放。那么,怎么样才能找到是哪一个网站的?
1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池
3、到iis中察看该应用程序池对应的网站,就ok了
试了一下,把回收时间改成了180分钟,增加cpu监视每5分钟刷新cpu率值,超过60%时关闭网站。
内存占用减少320m,cpu占用也好了很多。
顶(0)
踩(0)
- 最新评论