|
|
1
2
当您的应用程序没有响应,CPU使用率很低时,很可能是并发问题。您要么有导致所有线程暂停的死锁,要么您的异步线程需要花费很长时间才能完成,而线程池最终会耗尽。因为您运行的是ASP.NET,所以应该检查线程池的运行情况。您可以观察性能计数器,或者更好地使用windbg连接到应用程序(您可以从Windows的调试工具中获得它 http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx ) 启动windbg,附加到ASP.NET进程,然后在命令提示下:
更好的是,下载sosex扩展( http://www.stevestechspot.com/CommentView,guid,9fdcf4a4-6e09-4807-bc31-ac1adf836f6c.aspx )检查是否有死锁
检查哪些是线程阻塞,切换到其中一个线程(使用UI或命令行)并键入
让堆栈跟踪显示阻塞应用程序的方法。 |