Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a problem on one webserver (IIS6) where aspnet_wp is using 100% cpu. There are several websites on this server. But how do I tell what website is causing the problem? The sites are in the 2.0 framework, and the server is running in IIS5 isolation mode.

share|improve this question

migrated from stackoverflow.com Nov 15 '09 at 3:28

This question came from our site for professional and enthusiast programmers.

add comment

3 Answers

For IIS6: At a command line, run cscript c:\windows\system32\iisapp.vbs. It will dump PIDs for each app pool, so you can track which one is pegged.

W3WP.exe PID: 12216   AppPoolId: A
W3WP.exe PID: 1632   AppPoolId: B
W3WP.exe PID: 8892   AppPoolId: C

For IIS7: appcmd apppool /?

share|improve this answer
    
+1 is there a similar command for IIS7? –  IrishChieftain Nov 13 '09 at 18:44
    
Added IIS7 details for ya –  spoulson Nov 13 '09 at 19:03
    
Thanks a million! :-) –  IrishChieftain Nov 13 '09 at 19:56
    
Thanks, but the server is in IIS5 isolation mode, so there are no app pools. –  Ed Nov 13 '09 at 23:13
1  
For IIS 7 use appcmd list wp. That will get live info on the active worker processes. –  Scott Forsyth - MVP Nov 15 '09 at 3:51
add comment

I've used SysInternals Process Explorer (now available from Microsoft's website) to view all processes running on the server. You can go into the options to view certain columns and turn on Command Line, this should show you the name of the application pool running the website.

We set up individual application pools for each site, that way if one crashes, it doesn't bring down all the sites. You could isolate each of your sites in their own apppools then use the tool to figure out exactly which one is causing the problem

alt text

share|improve this answer
add comment

Since you're using IIS5 isolation mode, it's difficult to tell which site is using the CPU. You can't line it up with task manager.

iisstate and Debug Diag are 2 tools that may help you. If you can move out of IIS5 isolation mode you will get a new work process (w3wp.exe) per app pool, making it much easier to track it down. (and it's much easier again in IIS7)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.