Today I was troubleshooting an issue in which one of our production SharePoint web applications wouldn’t load and displayed a very un-helpful “Unexpected Error” when you hit the site from a browser. I logged into the server, pulled up task manager, and could instantly see that something wasn’t right.
The CPU usage was holding steady in the 90 – 100% range, and nearly all of it was being chewed up by a single worker process (w3wp.exe). Unfortunately task manager isn’t smart enough to tell you which website that worker process belongs to, so you have to do a little further investigation before you can begin to troubleshoot. There are a couple of ways to do this, but I’ll outline what I feel is by far the easiest.
The first thing you’ll need to do is make sure that Task Manager is showing you the PID (process identifier) for everything running. If it’s not, then all you need to do is go to View—>Select Columns and put a check mark in the PID box. So for example’s sake, lets imagine that the w3wp.exe running under the PID 12012 is consuming all of your server’s CPU. Thankfully this isn’t the case currently on my server.
Now that we know what the offending process is, we need to figure out which application pool it belongs to. To do this, open a command prompt and navigate to c:windowssystem32. From there you can run the command IISAPP.VBS. For example:
As you can see from this point it’s very straightforward to match up the the offending process with the correct application pool. You can then try recycling the application pool or if necessary taking further steps debug your application.
Good luck!
Similar Articles:

Leave a Reply
You must be logged in to post a comment.