我们有.NET应用程序(实际上是IronPython应用程序)。我们注意到加班应用程序在内存和缓慢方面变得更大。
使用WINDBG(!eeheap -loader),我们注意到LoaderHeap越来越大(每天增加150MB)。从!eeheap输出看,增加的原因是HostCodeHeap(对象?)。
我想知道这些物品是什么以及为什么我可以防止它们长到无穷大。
谢谢!
答案 0 :(得分:0)
它们可能是为动态发出的代码创建的对象。框架中的几个组件可以做到这一点,很可能IronPython自己使用了一些组件。
我在using Linq-TO-SQL,XML序列化,编译的XSLT转换和其他动态生成的代码时听说过类似的问题。
另请参阅此MSDN magazine article中图2附近的“泄漏未管理的堆内存”。