.net – 什么可以解释托管堆上超过5,000,000个System.WeakRefere
发布时间:2020-12-15 19:56:32 所属栏目:asp.Net 来源:网络整理
导读:我一直在对生产ASP.NET Web应用程序运行负载测试,并且看到在堆上创建了大量的System.WeakReferences.在负载下大约15分钟内,托管堆内存大约增加到3GB,我有大约5,000,000个对System.WeakReference的引用.执行所有代的强制垃圾收集不会释放这些引用. 我已经看过
我一直在对生产ASP.NET Web应用程序运行负载测试,并且看到在堆上创建了大量的System.WeakReferences.在负载下大约15分钟内,托管堆内存大约增加到3GB,我有大约5,000,000个对System.WeakReference的引用.执行所有代的强制垃圾收集不会释放这些引用.
我已经看过关于__ENCLIST辅助类的帖子,如果在调试中编译程序集,可以为所有创建的对象创建WeakReferences,起初我认为这是问题,但已经验证所有已部署的程序集都是在发行版中构建的. 我一直在使用WinDbg来调试这个过程,这里是最后几行!dumpheap -stat 000007fef788e0c0 39253 18510000 System.Collections.Hashtable+bucket[] 00000000021bf120 94336 151023192 Free 000007fef7887e98 5959 189838752 System.Char[] 000007fef7874390 517429 589750224 System.Object[] 000007fef78865a0 1531190 1230824112 System.String 000007fef787dab8 51723338 1655146816 System.WeakReference 正如您所看到的,这些System.WeakReferences消耗了大约1.5GB的内存. 有谁知道什么可以创建所有这些WeakReferences? 解决方法
事实证明,由于动态创建大量System.Diagnostics.TraceSwitch实例,我有一个System.WeakReference泄漏,内部TraceSource / TraceSwitch将WeakReference分配给新的TraceSource / TraceSwitch并将WeakReference放入列表中.尽管WeakReference允许对TraceSource / TraceSwitch进行垃圾回收,但WeakReference本身永远不会被释放,从而导致内存泄漏.
在这里可以找到更多信息 http://msdn.microsoft.com/en-us/library/system.diagnostics.tracesource(VS.80).aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – DropDownList SelectedIndex值未在AutoPostback
- asp.net实现access数据库分页的方法
- 为什么我不能将ASP.NET Framework版本显示为3.5?
- asp.net-mvc – 不显着的验证不工作在动态添加的局部视图
- NHibernate中对同一个对象的Lazyload要设置一致
- ASP.Net页面生命周期
- asp.net-mvc-3 – 具有DropDownList的可重用编辑器模板,用于
- 实体框架 – 使用伪造的DbContext和Autofixture以及Moq进行
- 密码由6-12位数字或字母组成,密码哈希加密
- asp.net-web-api – Asp.net WebApi将UTC时间字符串反序列化
推荐文章
站长推荐
- asp.net-mvc – 具有键’XXX’的ViewData项的类型
- 在ASP.NET中为命中计数器实现存储的最佳方法是什
- 你如何正确使用UpdatePanel? (asp.net)
- asp.net-core – 无法在VS2015中定位netstandard
- asp.net-mvc – 人们如何使用编辑器/显示模板与H
- asp.net-mvc – ASP.Net MVC有一个Action渲染另一
- asp.net – 如何在复选框列表中隐藏未选择的项目
- IE不保存asp.net身份验证令牌/ cookie
- 从ASP.NET MVC 2中排除授权操作
- asp.net – 是否有复杂的aspnet UI验证的设计模式
热点阅读