我正在使用Visual 2008来处理Winform / WPF项目。
它使用多个项目和类将其构建为一个工作产品。
我的问题是,我们注意到内存使用中每秒有4-8k的泄漏。当然,这是一个小漏洞,但它是不间断的连续4-8k。我们的应用程序通宵运行,甚至几天的时间。当这几天单独出现的时候,这个东西消耗了计算机所能处理的内存(通常是2-3个字节),而在pc上重新启动武力是唯一的解决方案。即使除了与主机的网络通信之外,任何事情都没有发生,但也会发生此泄漏。
通过蚂蚁内存分析器对该项目进行了深入的分析,发现私有字节数据不断增长。有什么方法可以知道这些私有数据是从哪里创建的吗?我没什么运气能用蚂蚁追踪这件事。台阶会很有帮助的!
私有字节的图像增加(~45分钟):

时间线增长的图像(~45分钟):

提前感谢!
发布于 2014-04-16 20:26:37
如果私有字节不断增加,就意味着内存泄漏。尝试DebugDiag,它是从MS和免费,也是一个很好的工具,跟踪内存泄漏的窗口。
使用这个工具很简单,首先使用DebugDiag集合创建一个规则来监视您的进程,它将根据您的规则创建内存转储,您可以手动创建内存转储。然后可以使用DebugDiag分析来分析转储,请在分析前设置正确的符号路径。
这篇MSDN文章识别和防止托管代码中的内存泄漏也可能有帮助。本文指出了如何查明内存泄漏是本机泄漏还是托管泄漏。如果纯粹是.NET管理泄漏,也可以使用CLR剖面仪调试问题。
https://stackoverflow.com/questions/23119030
复制相似问题