当我询问内存快照时,我已经阅读了出现的其他问题,但我可能太厚而无法真正掌握它。我有一个 Windows 服务,我可以通过重复执行非常简单的数据操作来产生内存泄漏。我一路上拍摄了内存快照,我看到根的数量正在增加(从成功启动后的 2,100 到 100 次左右的数据操作后的 7,100)。快照是在蓝色箭头标记处拍摄的:
在多次数据操作之前,内存快照是这样的:
之后,它看起来像这样:
我们使用 WCF 进行数据传输,看起来序列化在内存增长中发挥了作用,但我不知道从哪里开始。如果我查看 的实例RuntimeType+RuntimeTypeCache,绝大多数实例如下所示:
如果有人可以帮助我弄清楚下一步要采取的措施,我将不胜感激。我们有一个静态实例,它有一个ServiceHosts我怀疑的并发字典,但我不知道如何确认它。
编辑:
这似乎也很重要,并且是指ServiceHosts. 我们能否通过这种静态关系启用一些不明智的代理生成和实例保留?




