We are having application crashes in a large .net web app due to cpu spikes on windows 2003. I have collected the userdump using ms debug diagnostic tool to investigate the issue. I can see the following in the analysis summary
Warning The following threads in w3wp.exe_TKN2011_PID_285884_Date__12_25_2013__Time_06_00_59PM_810_Manual Dump.dmp are waiting for .net garbage collection to finish. Thread 45 triggered the garbage collection.The gargage collector thread wont start doing its work till the time the threads which have pre-emptive GC disabled have finished executing. The following threads have pre-emptive GC disabled 40,
( 16 30 31 33 34 35 36 37 38 39 41 42 43 46 )
25.93% of threads blocked
Warning The following threads in w3wp.exe_TKN2011_PID_285884_Date__12_25_2013__Time_06_00_59PM_810_Manual Dump.dmp are making an HttpWebRequest and waiting on the remote server to respond
These threads are also waiting on data to be returned from another server via WinSock.
The call to WinSock originated from 0x029ea1c3 and is destined for port 80 at IP address xx.xxx.105.174
( 44 )
1.85% of threads blocked
Also I can see in the report
Top 5 Threads by CPU time Note - Times include both user mode and kernel mode for each thread Thread ID: 43 Total CPU Time: 00:15:13.671 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc Thread ID: 42 Total CPU Time: 00:14:06.280 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc Thread ID: 41 Total CPU Time: 00:13:58.046 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc Thread ID: 46 Total CPU Time: 00:13:11.781 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc Thread ID: 40 Total CPU Time: 00:13:04.702 Entry Point for Thread: mscorwks!Thread::intermediateThreadProc
There is a lot in this analysis report. Any ideas how shall i go about troubleshooting this? thanks