站长视角
用户至上

w3wp.exe占用CPU100%的解决办法

说点关于W3WP.EXE的知识.    Q : W3WP.EXE,应用程序,应用程序池之间的关系     A : 一个应用程序池可以包含多个应用程序,一个应用程序池创建一个W3WP.EXE进程.那么我们就不能简单的说一个进程池对应一个W3WP.EXE进程了!其实是多个应用进程池对应一个W3WP.EXE进程的.

Q : 如何启动和关闭W3WP.EXE这个进程     A : W3WP.EXE这个进程将在你访问www应用程序的时候启动.有人就会这么问了:”我启动了一个Web应用程序,发现系统自动创建了一个 W3wp.exe进程。但我关闭这个Web应用程序后,发现这个刚创建的W3Wp.exe进程还在,请问如何关闭该进程。”这个进程不会在你关闭了这个程序以后,就马上关闭的.那是因为Http是无连接的访问,当你关闭了web网页,不会返回相应的关闭信息,所以W3WP.EXE这个进程不会因为你关闭了 web应用程序尔关闭.

Q : 那么如何关闭这个进程呢?     A : 在应用程序池的配置中,”空闲超时”中设定合适的时间,系统默认的是20分钟.设定好指定的时间,那么在这个时间范围内没有在访问应用程序,那么系统会自动的关闭W3WP.EXE这个进程的.而不需要我们人为的干预的.也可以在Windows任务管理器里面,结束这个进程

Q : 如何让W3WP.EXE进程长时间的运行.     A : W3WP.EXE这个进程的默认生命是1740分钟,但依然是在这种默认的自然规律下,W3WP.EXE将在自己失业20分钟后,被系统直接枪杀.这样就可以看出,要想让W3WP.EXE长时间的生存,那我们可以通过”空闲超时”不作处理来达到我们的目的.

Q : 在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢。     A: 解决内存占用过多,可以做以下配置     1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。     2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回收内存。     解决CPU占用过多:     1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。     2、设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。     根据w3wp取得是那个一个应用程序池:     1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid     2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在 C:windowssystem32目录下的一个VBS脚本,全名为iisapp.vbs,如果禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script Host”来执行,就可以得到PID与应用程序池的对应关系。)     3、到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。     A2 : by 小步舞曲     查看占用cpu的w3wp进程里面里面有那个用户呼叫的token

Q : 另一种加载了某程序后发生w3wp.exe问题     A: 修改C:WINDOWSMicrosoft.NETFrameworkv1.1.4322CONFIGmachine.config,再配置节点<processModel>中有一个属性”memoryLimit”,这个属性的值是一个百分比,默认为”60″(注意,是60%不是 60M),即制定了ASP.NET进程能够使用所有物理内存的60%,当ASP.NET使用的内存量草果这个限额时,IIS会开始自动回收进程,即创建一个新的进程去负责应付HTTP请求,而将旧进程所占用的内存回收.

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《w3wp.exe占用CPU100%的解决办法》
文章链接:https://www.veidc.com/406.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。