- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个HttpHandler
,它经常被调用。它使用Entity Framework
完成其任务。
通过此Web应用程序的w3p.exe
(使用一个单独的应用程序池),已用内存的增长缓慢。我使用了ANTS memory profiler
,并且那里有很多可用内存(LOH)。 ANTS
说这些是GC root
对象。我检查了我的代码,有一些int
和string
不能导致LOH
!
我跟踪了泄漏源,但不幸的是,泄漏源是System.Object
类型,具有很多null
属性。还有一个LinkedList
,一些HashTable
和一个WeakHashTable
。
我如何找到这个对象并修复LOH
?返回true
的IsReusable
的HttpHandler
怎么办?
最佳答案
首先,您必须跟踪实际发生的情况。在这种情况下,我的第一个工具始终是WinDbg。
http://www.windbg.org/
http://en.wikipedia.org/wiki/WinDbg
要将其与托管/.NET代码一起使用,您需要使用SOS(Son of Strike)扩展名:
http://msdn.microsoft.com/en-us/library/bb190764.aspx
http://blogs.msdn.com/b/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx
因此,将WinDbg附加到w3wp.exe进程后,您要做的第一件事就是弄清楚堆中的实际内容:
!dumpheap -stat
!dumpheap -stat -min 85000
!gcroot <address> <- will show you what object is "rooting" another
!CLRStack <- show current managed call stack
!dumpobj <address> <- show information about object at address
bp clr!SVR::gc_heap::allocate_large_object "!CLRStack; g;"
关于asp.net - LOH分析说,GC根对象(System.Object)是内存泄漏的根源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6013820/
试图从疯狂复杂的ant构建迁移到gradle的持续传奇中-我们有一些我正在生成的“javahelp”资源jar文件。它们不包含任何类。我需要将创建这些资源 jar 的项目的输出添加到 war 的根源(
我是一名优秀的程序员,十分优秀!