在这里遇到我们的网络应用程序的棘手问题.(Asp.net 2.0 Win server 2008)
我们对网站的内存使用量增长和增长,即使我希望它保持在相当静态的水平.(我们有少量数据存储在状态中).
想要找出问题所在,我运行了一个System.GC.Collect(); 几次,采取内存转储,然后将此内存转储加载到WinDbg.
当我执行DumpHeap -Stat时,我会在内存中挂起特定类型的非常大的数字.
0000064280580b40 713471 79908752 PaymentOption
所以,为这种类型做一个DumpHeap -MT,我得到一堆对象引用.挑选一些随机数,我做了一个!gcroot,命令回来报告没有引用它.
对我而言,这正是GC应该收集这些项目的时候,但由于某种原因,它们一直处于劣势.
任何人都可以解释可能发生的事情吗?