什么是HostCodeHeap以及它们为什么泄漏?

时间:2010-10-03 10:33:29

标签: memory-leaks ironpython windbg

我们有.NET应用程序(实际上是IronPython应用程序)。我们注意到加班应用程序在内存和缓慢方面变得更大。

使用WINDBG(!eeheap -loader),我们注意到LoaderHeap越来越大(每天增加150MB)。从!eeheap输出看,增加的原因是HostCodeHeap(对象?)。

我想知道这些物品是什么以及为什么我可以防止它们长到无穷大。

谢谢!

1 个答案:

答案 0 :(得分:0)

它们可能是为动态发出的代码创建的对象。框架中的几个组件可以做到这一点,很可能IronPython自己使用了一些组件。

我在using Linq-TO-SQL,XML序列化,编译的XSLT转换和其他动态生成的代码时听说过类似的问题。

另请参阅此MSDN magazine article中图2附近的“泄漏未管理的堆内存”。