Determining which IIS 6.0 Application Pool belongs to which application

In IIS 6.0, you can setup Application Pools for each of your sites. My knowledge of the exact benefits of this is somewhat lacking, but what I do understand is that these help applications (Web sites) stay within their own bounds, and prevent them from having a bad effect upon each other.

For example, if one application is preforming poorly, as long as it's not a server-wide issue, the other sites on the server will be impacted minimally.

Matching an Application Pool to a process

If you check the Windows Task Manager, and verify that you're looking showing processes from all users, you'll see one w3wp.exe for each running process, along with Memory Usage.  PID (Process ID) isn't shown by default, but once you add that, you're on your way to discovering which process belongs to which Application Pool.

Select Start > Run ... and enter cmd. From the command line, if you're not in the systemroot\system32 directory, cd to it. For example, cd c:\windows\system32.

Now, either enter iisapp.vbs or cscript iisapp.vbs to display the running Application Pools, along with a Process ID and the ID of the Pool.

Next steps

Once you can match an Application Pool with a process, you can see just how much memory is being used. If you find that an application is using a deal of memory, then that may mean that you need to Recyle the Pool more regularly. You may also need to look at the code you're running to see if you have instances of leaks.

From my, albeit limited, experience, w3wp.exe starts with about 8 MB of memory usage, after a Recycle. However, how fast it climbs is up to the individual usage of the Application Pool.

Remember to check into your Performance logs, or enable logging for a set amount of time, to see if memory usage is getting too high too fast. For most business applications, there is generally a slow period, or two, where you can have the Application Pool Recycle. Of course, there's no real reason to Recycle too often, if you don't need it.

There's an article on TechRepublic from Brien M. Posey (MCSE) with more information about Application Pools: SolutionBase: Stabilize Web servers by using application pools.