各个世代的垃圾收集和阈值

Paw*_*hra 5 .net c# garbage-collection

我下载了“ .Net内存管理的内幕 ”这本书的免费副本。在其中一章中,作者提到了各个世代的阈值,这些阈值将迫使GC收集该特定世代和所有其他子世代。确切的文字如下:

GC在以下情况之一下自动在单独的线程上运行。

任何一代中的对象大小达到特定于一代的阈值时。确切地说,在以下情况下:

  • Gen 0命中〜256 K
  • Gen 1命中〜2 MB(此时GC收集Gen 1和0)
  • Gen 2达到约10 MB(此时GC收集了Gen 2、1和0)

值得牢记的是,上述阈值仅仅是开始级别,因为.NET会根据应用程序的行为来修改级别。

我想知道是否有一种方法可以计算出给定应用程序正在运行时,Generation-2的当前阈值是多少。

Guv*_*nte 2

类似的问题另一个问题都说不。我在GC 类中也没有看到任何内容。