使用大量内存的ASP.NET应用程序 - 泄漏?

web*_*oob 4 asp.net iis-7 memory-leaks

我有一个似乎使用大量内存的ASP.NET网站.我在星期天离开了7个小时,它达到了3.2gb.我以为.NET处理了所有它自己的垃圾收集/免费对象等等,所以我不确定从哪里开始寻找解决方案.

该网站大量使用XML,所以我认为这可能是问题,但我已经实现了XMLSerializer的全局使用,试图将其排除在外.

我还有一个自定义处理程序,可以处理所有图像,调整大小,缓存,然后从缓存中加载.这会导致任何问题吗?

很抱歉这么模糊,但问题是我不知道从哪里开始真正的问题.任何帮助赞赏.

服务器信息:.NET 2.0 Windows 2008服务器IIS7

提前致谢.

Cox*_*oxy 5

最好的起点是使用分析器.RedGate拥有ANTS Memory Profiler,它非常好并且有免费试用版.产品页面在这里.

您运行应用程序,附加探查器然后正常开始使用该页面.探查器收集有关正在使用的对象的信息,这应该可以帮助您查明问题的根本原因.

进入我的应用程序后,结果是我们不小心为我们执行的每个查询创建了一个NHibernate SessionFactory.这些都是由NHibernate内部引用的,这意味着它们除了非常缓慢和低效之外从未被释放.探查器引导我们正确使用它,否则我们永远不会发现它.