So my server has been going a bit crazy lately, every now and then my IIS thread would eat up 100% of my CPU and hang until I restart it.
I’ve done a dump and found the culprit ASPX page, however, I do not know how to figure out further from there what’s going on.
Obviously I’ve done something very wrong – so is it possible to see where in the code are the threads running when IIS begins eating up my CPU?
Thanks,
Ron
In order to see what code the threads are executing, you will need the symbols (.pdb files) that match the code that was running. You will also need to set up symbols for the .NET Framework/Windows dlls. This KB covers how to do that: http://support.microsoft.com/kb/311503
The WinDbg tool and SOS.dll debugging extension allow you to find the threads that have the highest CPU
!runaway, and you can then inspect the stack!clrstack. Tess has a great demo showing how to use this to track down a high CPU thread here: http://blogs.msdn.com/b/tess/archive/2008/02/22/net-debugging-demos-lab-4-high-cpu-hang.aspx