垃圾收集导致的死锁?

时间:2016-02-10 12:34:43

标签: c# .net multithreading deadlock dump

这个问题让我困扰了很长一段时间,到目前为止我还没有找到可能导致它的原因。运行好几天甚至几周后,应用程序突然开始消耗所有可用的CPU,没有明显的原因。据我所知,没有可疑的失控线程。目前唯一的解决方案是重新启动应用程序。内存使用情况始终稳定。

以下是在99%CPU时杀死进程之前创建的转储文件的分析: http://5.45.73.43/tmp/dump_analysis.mht

使用调试诊断工具完成,需要使用Internet Explorer打开(抱歉!)。

正如您所看到的,看起来有很多线程在等待GC完成时被卡住了,而调用GC的线程也被卡住了。不过,我不确定为什么会引发高CPU使用率。它可能是与GC无关的东西吗?但那似乎确实是罪魁祸首......

0 个答案:

没有答案