加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 07:21:47 所属栏目:asp.Net 来源:网络整理
导读:我有一个似乎使用大量内存的ASP.NET网站.我在星期天离开了7个小时,它达到了3.2gb.我以为.NET处理了所有它自己的垃圾收集/免费对象等等,所以我不确定从哪里开始寻找解决方案. 该网站大量使用XML,所以我认为这可能是问题,但我已经实现了XMLSerializer的全局使
我有一个似乎使用大量内存的ASP.NET网站.我在星期天离开了7个小时,它达到了3.2gb.我以为.NET处理了所有它自己的垃圾收集/免费对象等等,所以我不确定从哪里开始寻找解决方案.

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

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

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

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

提前致谢.

解决方法

最好的起点是使用分析器. RedGate拥有ANTS Memory Profiler,它非常好并且有免费试用版. Product page here.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读