What Application Pool does this W3WP.EXE belong to?


During the course of working through issues, I get asked at least twice a week how to determine which application pool maps to a particular worker process PID (Process ID) on a server.  I suppose there are lots of ways to determine this, but here two that come to mind to determine the answer.


The first way, and by far the easiest, is to use one of the new scripts that come in the box called IISAPP.VBS.  It is located in the %SystemRoot%\system32 directory.  For example:





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


As you can see, this script makes it very easy to determine what the PID is of each specific Application Pool.  This is nice to use when trying to determine which PID you may want to snap a dump of for debugging purposes.


There are others that are cool as well.  For more details on the various other scripts that are also included, see this link.  I also encourage you to open a command prompt, navigate to your system32 directory on your IIS6 machine then run a "dir iis*.vbs" command and check out the new scripts.


The second way is a bit more obscure and requires that you run the tlist.exe command, which comes with the Debugging Tools for Windows.  Here is an example of that, which is fairly interesting:





C:\Program Files\Debugging Tools for Windows>tlist -v
0 1172 w3wp.exe
Command Line: c:\WINDOWS\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipmec19a7d8-c08d-42f4-b2c9-69d7cfe28c74 -ap "StsAdminAppPool"
0 2656 w3wp.exe
Command Line: c:\WINDOWS\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipm4bc52071-9ebb-4e39-9ba5-b256b4be4014 -t 20 -ap "MSSharePointAppPool"
0 2148 w3wp.exe
Command Line: c:\WINDOWS\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipmfa132134-c1ed-47d4-be52-417ce5a59e63 -t 20 -ap "WMS App Pool"
0 3604 w3wp.exe Title: OLEChannelWnd
Command Line: c:\WINDOWS\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipmdd93382a-645a-467c-bdbd-07c3ad6833a4 -t 20 -ap "defaultwebsite"


Note:  I snipped all other processes and only left the 4 W3WP.EXE processes that we're interested in.


If you look carefully above, you will see the name of the Application Pool specified directly on the command line for W3WP.EXE!  You mean you can call this thing directly?  Interestingly enough, there are documented command line options for it.  Interesting?  No?  Bonus points if you can tell me why the last application pool has a Title of "OLEChannelWnd" 🙂


For those interested parties still left reading, here are the command line options for W3WP.EXE that are documented via -?:





C:\WIN2003\system32\inetsrv>w3wp -?
Usage: w3wp [options]
 
        -debug
                 This option is required for launching from the command line.
                 If not provided the app pool name, default url, and site id
                 will be defaulted to
                         AppPoolName = StandAloneAppPool
                         URL list    = http://*:80/:80/:80/
                         Site Id     = 1
 
        -ap <Application Pool Name>
                 Indicates the application pool name
                 that will queue requests for the
                 worker process.  No other worker processes
                 with this name can be running at the
                 same time as this one
 
        -d <URL List>
                 Indicates the urls to listen to.
                 Examples:les:
                         http://*:80/:80/
                         http://HostString:80/
                         http://111.11.111.11:80:111.11.111.11/
                         http://HostString:80:111.11.111.11/
 
        -s <#>
                 Which site are the urls provided associated with.
                 The site number is used to access data from the metabase
                 for processing the requests.sts.

 

Good night...for now.

Comments (25)

  1. I just tried to get info about w3wp.exe using "-?", just like you did, and it’s returning nothing. I would like to get some info about what does the parameters (specifically "-a" and "-t"). If you know anything about it, can you update the post with some info? I’m sure it would greatly help a lot of people.

  2. Hi Rafael,

    Neither of these switches you mentioned are really anything that can be used outside of IIS, so I’m not sure how it will help a lot of people, but…

    The number after the -t command line argument maps to the idle timeout (in minutes) for the application pool in question, as configured on the "Performance" tab in the application pool properties window.

  3. Andrew says:

    You can always check the "Command Line" column in Proc Explorer (http://www.sysinternals.com/Utilities/ProcessExplorer.html) as well.

  4. IIS6 possede un système de pool d’application qui permet de regrouper plusieurs sites web. Chaque pool

  5. Steve Mapua says:

    This is a bandaid that seemed to fix our problem

  6. samb says:

    Hi

    I’m using a patched Windows 2003 SP2 server running IIS 6 and SQL 2000 SP4. I’m having some issues and noticed that w3wp is taking the most of my memory use. I ran the iisapp.vbs but all that showed is one entry:

    AppPoolID: DefaultAppPool

    Should I be using different pools for different apps?

  7. Talking to a buddy on Friday, the post he said he actually read was one I must have posted on 2003. I

  8. Nicolas says:

    James, could you please write an article on how to configure IIS settings (Application Pools, HHTP Compression) for x64 servers to follow Joel’s article on Application Pools settings(http://blogs.msdn.com/joelo/archive/2007/10/29/sharepoint-app-pool-settings.aspx ). From Joel comments I understand his article is about 32 bits servers or can I use the same settings on my 64 bits servers??

    Thanks in advance for your help.

  9. Looking at the processes of one of my servers, I notices a huge memory consumption on one of the w3wp

  10. Alguna vez has entrado al IIS Manager MMC y de pronto no ves los Sitios Web ni Applications Pools ni

  11. Alguna vez has entrado al IIS Manager MMC y de pronto no ves los Sitios Web ni Applications Pools ni

  12. Alguna vez has entrado al IIS Manager MMC y de pronto no ves los Sitios Web ni Applications Pools ni

  13. 話題の小向美奈子ストリップを隠し撮り!入念なボディチェックをすり抜けて超小型カメラで撮影した神動画がアップ中!期間限定配信の衝撃的映像を見逃すな

  14. Mark says:

    Hi,

    IIS Pools app from http://www.hoststools.com/index.php/software-for-iis/iis-pools/ helps to find sites and pools memory usage easily.

  15. IIS 7+ provides a section called "Worker Processes" which gives a listing of the same information that you are trying to pull using tlist or iisapps.vbs

  16. Steve H says:

    I want to know about OLEChannelWnd!

    Why does the last application pool have a Title of "OLEChannelWnd" 🙂

  17. tunminster says:

    Nice post !

  18. Noreply says:

    I think it is much easier to use the task manger "command line" column (View > Select Columns > Command Line). The name of the web application is written in it at the beginning (w3wp.exe -ap "name").

Skip to main content