由于Windows 2003上的cpu峰值,我们在一个大型.net网络应用程序中发生应用程序崩溃。我已经使用ms调试诊断工具收集了userdump来调查此问题。我可以在分析摘要中看到以下内容
警告w3wp.exe_ TKN2011 _PID_ 285884 _Date__12_25_2013__Time_06_00_59PM_ 810 _Manual Dump.dmp中的以下线程正在等待.net垃圾回收完成。线程45触发了垃圾收集。收集器线程开始执行其工作,直到具有抢先GC禁用的线程完成执行为止。以下线程已禁用先发制人GC 40,
(16 30 31 33 34 35 36 37 38 39 41 42 43 46)
25.93%的线程被阻止
警告w3wp.exe_ TKN2011 _PID_ 285884 _Date__12_25_2013__Time_06_00_59PM_ 810 _Manual Dump.dmp中的以下线程正在进行HttpWebRequest并等待远程服务器响应
这些线程也在等待通过WinSock从另一台服务器返回的数据。
对WinSock的调用来自0x029ea1c3,目的地是IP地址为xx.xxx.105.174的端口80
(44)
1.85%的线程被阻止
我也可以在报告中看到
按CPU时间排名前5位的主题 注 - 时间包括每个线程的用户模式和内核模式线程ID:43总CPU时间:00:15:13.671线程入口点:mscorwks!Thread :: intermediateThreadProc 线程ID:42总CPU时间:00:14:06.280线程入口点:mscorwks!Thread :: intermediateThreadProc 线程ID:41 CPU总时间:00:13:58.046线程入口点:mscorwks!Thread :: intermediateThreadProc 线程ID:46 CPU总时间:00:13:11.781线程入口点:mscorwks!Thread :: intermediateThreadProc 线程ID:40总CPU时间:00:13:04.702线程入口点:mscorwks!Thread :: intermediateThreadProc
此分析报告中有很多内容。任何想法我该如何解决这个问题?感谢