如何分析.NET中存储的内存?

如何分析.NET中存储的内存?,.net,memory,profiling,.net,Memory,Profiling,我有一个应用程序。当我运行数小时后,我注意到它开始变大。它在第一个小时内比t大4倍。因为它运行在内存空间有限的服务器上,所以我不能这样做。我尝试在.NET中进行内存采样,但它告诉我的只是json序列化分配了最多的内存。这是在一个循环中,所以我知道它在每次迭代中都消失了 我如何找到保存我记忆的对象?强制GC收集没有帮助。所以有些东西似乎在保存内存。您可以使用内存分析器。从RedGate和JetBrains都很受欢迎。还有一个免费的Microsoft版本,它有不同的和版本。您可以使用内存分析器。从R

我有一个应用程序。当我运行数小时后,我注意到它开始变大。它在第一个小时内比t大4倍。因为它运行在内存空间有限的服务器上,所以我不能这样做。我尝试在.NET中进行内存采样,但它告诉我的只是json序列化分配了最多的内存。这是在一个循环中,所以我知道它在每次迭代中都消失了


我如何找到保存我记忆的对象?强制GC收集没有帮助。所以有些东西似乎在保存内存。

您可以使用内存分析器。从RedGate和JetBrains都很受欢迎。还有一个免费的Microsoft版本,它有不同的和版本。

您可以使用内存分析器。从RedGate和JetBrains都很受欢迎。还有一个免费的Microsoft版本,它有不同的和版本。

看,它可能会越来越大,但它是虚拟内存,问题是它是否需要该内存。如果系统需要其他进程的内存,它将放弃部分内存。接下来的问题是,你的应用程序是否需要足够的内存来启动分页?看,它可能会越来越大,但它是虚拟内存,问题是它是否需要内存。如果系统需要其他进程的内存,它将放弃部分内存。接下来的问题是,你的应用程序是否需要足够的内存来启动分页?配置文件并没有帮我找到这个问题,但泄漏的问题是没有在需要它的对象上调用dispose。我以为GC最终会调用它,但我错了配置文件没有帮我找到这个,但泄漏的问题是没有在需要它的对象上调用dispose。我以为GC最终会调用它,但我错了