如何查找 .NET 应用程序在 GC 中花费的时间百分比?

Joh*_*ith 3 .net c# memory garbage-collection

我一直试图找出这个值几个小时,但无济于事。它开始变得非常令人沮丧。

我看到到处都提到了“在 GC 中花费的时间百分比”(例如https://msdn.microsoft.com/en-us/magazine/cc163528.aspx),但没有提及如何检索它!

我尝试过 Visual Studio 的内存分析器、ANTS(试用版现已过期)、CLR Profiler 和 PerfView。这个值存储在哪里以便我可以读取它?

Jim*_*hel 5

它在性能监视器 (perfmon.exe) 中

  1. 启动 perfmon 并选择要监视的进程。
  2. 单击绿色大“+”号以添加性能计数器。
  3. 在“添加计数器”对话框中,选择“.NET CLR 内存”
  4. 展开“.NET CLR 内存”下的计数器
  5. 向下滚动并选择“% Time in GC”