如何检测多线程C#应用程序的性能问题?

时间:2014-03-22 03:28:51

标签: .net multithreading performance

我有一个多线程C#应用程序。大多数情况下,所有CPU核心都占用了100%。但在一段时间内,CPU sage下降到<30%,我怎样才能发现导致这种情况的原因?

如何识别消耗CPU的代码呢?

1 个答案:

答案 0 :(得分:1)

在Visual Studio中,您可以设置断点并使用the parallel stacks viewer. and here

您还可以创建进程的内存转储(使用任务管理器)并查看visual Studio中的线程或open the dump in WinDBG.

当流程陷入困境或想要查看内存和/或find threads that are deadlocked

时,WinDBG非常有用