Gather Troubleshooting Info
Before the issue occurs
A. Download DebugDiag:
- Install the Debug Diagnostic tool
- The default installation location for the package is C:\Program Files\IIS Resources\DebugDiag. It can be changed.
- Make sure any other monitoring and debugging tools are not running.
B. Create a Performance Monitor log:
- In Performance Monitor, expand Performance Logs and Alerts
- Right Click on Counter Logs
- Choose New Log Settings...
- Enter a descriptive name
- Note the log file location for later (or go to the Log Files tab and change the location)
- Click the Add Counters button
- Click the All Counters radio button.Â Click the Select instances from list radio button, and select the process hosting the IIS or ASP.net application.Â On Windows 2000 and Windows XP, this will be inetinfo, dllhost, or aspnet_wp .Â On Windows 2003 and Windows 2008 this will be w3wp.Â NOTE: It is possible you will see multiple instances of dllhost on IIS5/5.1 or w3wp on IIS6/IIS7 in the list of available processes.Â If you do, or if you are unsure of which process to monitor, please cltrl-click to multiselect all of the available IIS/ASP.net choices.
If the application is not an ASP.net application, select the following from the Performance Object dropdown, being sure to Add each one as you select it:
If the application is an ASP.net application, select the following from the Performance Object dropdown, being sure to Add each one as you select it:
- .NET CLR Data
- .NET CLR Exceptions
- .NET CLR Interop
- .NET CLR Jit
- .NET CLR Loading
- .NET CLR LocksAndThreads
- .NET CLR Memory
- .NET CLR Networking
- .NET CLR Remoting
- .NET CLR Security
- ASP.NET Applications
- Click Close
- Click OK
After the issue occurs
A. Let the process run
Now let the server run for a few minutes to document the environment in which the high CPU/hang is occurring in.
B. Capture the memory Dumps
- Start, Program Files, IIS Diagnostics, Debug Diagnostics, Debug Diagnostic Tool
- From the Tools menu, select Create IIS Hang Dump
Repeat Step 2 every 1 - 2 minutes until you have 3 sets of memory dumps. Make sure the previous memory dumps completed before continuing to capture the next set of memory dumps. The multiple memory dumps will allow us to see if the process is progressing during the hang/high CPU symptoms or whether the process is actually performing work.
Files will be created in the following path by default:
C:\Program Files\IIS Resources\DebugDiag\Logs\Misc
C. Stop the Performance Monitor log
In Performance Monitor:
- Right click on your log that is now listed under Counter Logs
- Choose Stop Log