我有一个。NET 服务,其正常私有工作集约为80MB。在最近的一次负载测试中,进程达到了3.5 GB 的内存使用量,导致整个计算机的物理内存不足(使用了4 GB 中的3.9 GB) ,并且在负载测试停止后很长时间内内存都没有释放。通过使用任务管理器,我获取了该进程的转储文件,并在 VisualStudio2010SP1中打开它,然后就可以开始对其进行调试。
我该如何诊断记忆问题?我可以使用 dotTrace Memory 3.x,它支持转储文件的内存分析吗?如果没有,VisualStudio2010Premium 的内存分析特性是否有所帮助(我目前使用的是 Professional) ?WinDbg 能帮忙吗?
更新: 新的 VisualStudio2013终极版现在可以使用转储文件自动诊断内存问题。