对于 IIS6、IIS7, 每个应用程序池都会创建一个 W3WP.exe 进程。 但是, 并不是所有情况都是一个应用程序池对应一个 W3WP.exe 进程。 Web Garden , 或者一些异常发生时候,就会一个 应用程序池对应多个 W3WP.exe 进程。
Web Garden 指的是一个应用程序可以在多个进程(w3wp.exe)中来执行,一次请求使用其中的一个。用这个的主要目的是提高程序的可用性。当其中一个进程发生错误,那么也不会影响其他进程。发生错误的进程可以根据规则关闭,而其他的进程则可以继续工作。
需要注意的是:一般使用 InProc HttpSessionState / HttpApplicationState / 静态变量来储存关键信息 的程序是不支持 Web Garden的。
由于应用程序池会在没有请求的时候定时回收,或者发生错误的时候,自动重新建立一个处理进程 W3WP.exe 进程。如果你中大运,你可能会看到没有配置 Web Garden 时, 一个应用程序池对应多个 W3WP.exe 进程, 如这篇文章中提到的http://www.eggheadcafe.com/forumarchives/inetserveriis/Feb2006/post25881024.asp 。
IIS 6 (Win2003 )中查看某个应用程序池对应那个 W3WP.exe 进程,可以使用如下命令,输出结果类似如下:
C:/WINDOWS/system32>cscript iisapp.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
W3WP.exe PID: 1172 AppPoolId: StsAdminAppPool
W3WP.exe PID: 2656 AppPoolId: MSSharePointAppPool
W3WP.exe PID: 2148 AppPoolId: WMS App Pool
W3WP.exe PID: 3604 AppPoolId: defaultwebsite
参看这篇博客: http://blogs.msdn.com/jb/archive/2006/02/22/536693.aspx
IIS 7 中则是如下命令,输出结果类似如下:
C:/Windows/system32>%windir%/system32/inetsrv/appcmd list wp
WP “5716″ (applicationPool:DefaultAppPool)
WP “968″ (applicationPool:MyOtherAppPool)
WP “5836″ (applicationPool:TheThirdAppPool)
参看: http://dirk.net/2008/06/01/identify-which-w3wpexe-belongs-to-which-application-pool-in-iis7/
参考资料:
找出“w3wp.exe进程”对应的“应用程序池”
http://www.cnblogs.com/windpole/archive/2007/11/19/964819.html
Which w3wp.exe process belongs to which App Pool in IIS6
http://weblogs.asp.net/owscott/archive/2004/09/21/Which-w3wp.exe-process-belongs-to-which-App-Pool-in-IIS6.aspx
What Application Pool does this W3WP.EXE belong to?
http://blogs.msdn.com/jb/archive/2006/02/22/536693.aspx
New in IIS 7 - App Pool Isolation
http://adopenstatic.com/cs/blogs/ken/archive/2008/01/29/15759.aspx
对w3wp.exe的一点认识!
http://www.cnblogs.com/hjh1982/archive/2006/06/28/438032.html
关于Web Garden与Web Farms
http://www.cnblogs.com/huashanlin/archive/2007/07/30/836652.html
你的程序支持 IIS6 - Web Garden 吗?
http://blog.joycode.com/lostinet/archive/2005/02/02/44017.aspx
Web Farm And Web Garden
http://www.cnblogs.com/kingclever/archive/2007/12/13/993152.html
Identify which w3wp.exe belongs to which Application Pool in IIS7
http://dirk.net/2008/06/01/identify-which-w3wpexe-belongs-to-which-application-pool-in-iis7/
分享到:
相关推荐
先在Windows任务管理器中点击查看--选择列--选择PID(进程标识符),这样在进程中就会显示进程ID号。 IIS6中查看w3wp进程:
w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资 今天研究了一下,可以做以下配置: 1、在IIS中...
然后再命令行运行iisapp -a,可以看到PID跟应用程序池的对应关系: 再去iis中看该应用程序池对应的网站,有问题的网站就找到了,剩下的就是这个网站代码中的问题了。iisapp 语法 iisapp [a/ AppPoolName | /p ...
w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。 这个小工具就是一个用来一键清理w3进程的小...
查看w3wp.exe对应IIS7网站应用程序池 前提是系统中%windir%\system32\inetsvr\appcmd.exe这个IIS命令程序存在
在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢。 解决CPU占用过多:1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。2、设置应用程序池的CPU监视,不超过...
对于IIS6可以运行 iisapp -a来显示应用程序池的性能列表. iisapp.vbs它是一个脚本...IIS7中查看w3wp进程 在IIS中可以用iisapp命令查看到所有w3wp进程的情况,但IIS7中微软改变了做法,改用了Appcmd命令了,做法如下
根据w3wp取得是哪一个应用程序池: 1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid 2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就...
有时打开资源管理器后常发现N个w3wp进程,有时某个进程占用了过高的内存,以前不得不挨个回收应用程序池来观察是哪个应用程序池对应哪个w3wp进程,最近在网上发现一篇文章,介绍一方法,可以查到w3wp对应的池子。...
以及引入了命令行工具 Appcmd.exe ,给 Web 服务器的日常管理、监视和配置提供了除图形接口外的另一种方式,更为简单、高效。 同Windows XP一样,在Windows Vista的默认设置下,IIS (Internet 信息服务) 7.0未予安装...