IIS 6 Problem: IIS’s w3wp process running close to 100%

Posted on July 8, 2011


1. Isolate: Find out the Application Pool running the process using either the PID or the User Name. By default the User Name is Network Service, but you should really give each pool its own user name so you can identify the process. Remove all the applications in that application pool so you’re sure which application is causing the problem.

2. Get the error message from the HTTPERR log. You find the error log here: C:\WINDOWS\system32\LogFiles\HTTPERR. When you see “Connection_Abandoned_By_AppPool” you know your application has gone south for the winter. Here’s a link to Microsoft’s description of other errors logged in the file: http://msdn.microsoft.com/en-us/library/aa364693(VS.85).aspx.

3. Do some sleuthing in the logs until you find when the error started. If you know when it happened you should be able to figure out what happened and fix the problem.

4. Do not assume it’s an IIS issue. Your application code may be causing the problem – a divide by zero error or something like that. The problem might not even be on the server, it could be in some bad data in your database. Restoring the entire server will be of no help whatsoever.

5. You can also do a dump using DebugDiag and send the dump to Microsoft. But by no means leave DebugDiag running, especially with default settings. It will fill the server’s c:\ with log files.

Good Luck!

Posted in: Technology