我有一个应用程序。当我运行它几个小时,我注意到它开始变大。它比第一个小时的t大4倍。由于它在具有有限ram空间的服务器上运行,我无法做到这一点。我尝试在.NET中进行内存采样,但它告诉我的是我的json序列化分配了最多的内存。这就是一个循环,所以我知道它每次迭代都会消失。
我如何找到藏有记忆的物体?强制GC收集没有帮助。所以有些东西似乎在抱着记忆。
答案 0 :(得分:4)
您可以使用内存分析器。来自RedGate的ANTS Profiler和来自JetBrains的dotTrace非常受欢迎。还有一个来自Microsoft的免费CLR Profiler,它有CLR 2.0和CLR 4.0的不同版本。