测量线程的内存消耗

时间:2017-01-13 00:15:33

标签: c# .net multithreading memory

如何衡量C#中线程的内存消耗?

我正在观察的场景是一个程序正试图解决一些硬搜索问题,它启动一个线程来寻找其中一个解决方案,该线程运行了一段时间,也许它找到了一个解决方案,或者它可能会超过其内存容量,因此会失败。但要实现这一点,有必要找出线程(而不是整个过程)使用多少内存。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

线程共享一个公共堆,但有自己的堆栈。

不是试图获取特定线程的内存消耗(你不能这样做),最好使用Visual Studio Memory Profiler分析你的解决方案,或者使用Ants Memory分析器来帮助找到你所面临的潜在内存问题。

您的应用程序是否吐出任何异常?