我和我的同事正在尝试跟踪应用程序中的内存问题,在我的研究中,我发现了一篇博客文章,其中讨论了每个线程如何默认获取 1MB 堆栈。我们的应用程序碰巧创建了很多线程,因此我们编写了一个快速测试程序来确保我们准确理解正在发生的事情。测试应用程序 (C#) 刚刚创建了 300 个线程,但任务管理器仍然只显示 22MB 内存。任务管理器没有计算堆栈内存,还是发生了其他事情?
问问题
237 次
1 回答
1
任务管理器不是确定内存消耗的最佳工具。相反,请下载免费试用版MemProfiler或RedGate 的 Memory Profiler等工具
不要使用任务管理器中的内存使用列进行诊断或分析。使用 Perfmon 计数器,尤其是 Private Bytes 和特定的 .NET 计数器,它们会显示内存泄漏等问题。
也可能感兴趣:.NET 应用程序的内存使用审计
于 2009-08-05T13:49:56.463 回答