- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 PerfMonitor.exe ( http://bcl.codeplex.com/wikipage?title=PerfMonitor ) 来追踪 .NET 4.0 应用程序的一些 .NET 性能问题,该应用程序使用一些第三方库,其中一些是 native 代码。
当我运行 Perfmonitor GCTime 报告时,它会列出各个 GC 并以多种方式对其进行分类。报告中的一栏称为“原因”。一些 GC 的 Reason="Induced",而其他 GC 的 Reason="SmallAlloc"。
我假设标记为“SmallAlloc”的 GC 是由常规分配 (New Object()) 引起的,而标记为“Induced”的 GC 是由对“System.GC.Collect”的调用引起的。如果您认为我的假设不正确,请告诉我。
我试图找到调用 System.GC.Collect 的代码,但一直没有成功。使用 MSVS 2010 Professional,我在 System.GC.Collect 中设置了一个断点,并通过编写一个包含对 System.GC.Collect 的调用的简单测试函数来确保该断点有效。但是,我正在调整的应用程序不会在该断点处中断,这让我相信没有任何代码调用 System.GC.Collect。
我在想,也许有 native 代码通过直接调用 mscorwks.dll 中的 native 函数并绕过 System.GC.Collect 来引发 GC。我看到 System.GC.Collect 在 mscorwks 中的 JitHelpers.cpp 中调用了 _Collect。有没有办法在该函数中设置断点?
最佳答案
我仔细查看了 PerfMonitor.exe 的输出。我不确定每个标记为“Induced”的 GC 实际上是由 System.GC.Collect 引发的。似乎所有第 1 代 GC 都标记为 Reason="Induced",而所有第 0 代 GC 都标记为 Reason="SmallAlloc"。 Gen2 GC 被标记为 Reason="LowMemory"。
有一个用于跟踪 .NET Induced GC 的性能计数器。我监控了那个性能计数器,它在我的过程中没有显示任何诱导的 GC。所以我断定 Perfmonitor.exe 误导了我。
关于.net - 追查 .NET 4.0 Induced GC 的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6104741/
我有一个 Java 小程序,它有时会在我调用 File.exists() 时抛出 java.security.AccessControlException。每当我将操作包含在 AccessContro
我正在使用 PerfMonitor.exe ( http://bcl.codeplex.com/wikipage?title=PerfMonitor ) 来追踪 .NET 4.0 应用程序的一些 .N
当您开始弄乱 Spring 的自动代理的东西时,您经常会遇到记录在案的这种行为: Classes that implement the BeanPostProcessor interface are
我是一名优秀的程序员,十分优秀!