【发布时间】:2017-05-28 06:43:45
【问题描述】:
如何测量 C# 中线程的内存消耗?
我正在查看的场景是一个程序正在尝试解决一些硬搜索问题,它启动一个线程来寻找其中一个的解决方案,线程运行一段时间,也许它找到了解决方案,或者它可能超出其内存限额并因此失败。但要实现这一点,有必要找出线程(而不是整个进程)正在使用多少内存。有没有办法做到这一点?
【问题讨论】:
标签: c# .net multithreading memory
如何测量 C# 中线程的内存消耗?
我正在查看的场景是一个程序正在尝试解决一些硬搜索问题,它启动一个线程来寻找其中一个的解决方案,线程运行一段时间,也许它找到了解决方案,或者它可能超出其内存限额并因此失败。但要实现这一点,有必要找出线程(而不是整个进程)正在使用多少内存。有没有办法做到这一点?
【问题讨论】:
标签: c# .net multithreading memory
线程共享一个公共堆,但有自己的堆栈。
与其尝试获取特定线程的内存消耗(您不能这样做),不如使用 Visual Studio Memory Profiler 或使用 Ants Memory Profiler 来分析您的解决方案来帮助发现您面临的潜在内存问题。
您的应用程序是否抛出任何异常?
【讨论】: