如何获取分配给每一代(Gen0,Gen1,Gen2)的堆内存?

时间:2012-02-19 12:40:53

标签: c# .net heap

正如CLR中通过C#所述, “当CLR初始化时,它会为每一代选择预算大小。”它假设Gen0为256KB,Gen1为2MB,Gen2为10MB(不确定是否包含大对象堆)

随着更多对象的创建和堆的大小的增加,此预算必须增加。

我知道GC.GetTotalMemory()方法返回已消耗的总内存,但它没有提供有关每代消费的信息。

有没有办法让堆大小分配给每一代?

1 个答案:

答案 0 :(得分:3)

如果您真的想深入了解.NET内存管理,那么我建议您检查这些链接:

以上链接提供了很多见解和MS编写的CLR内存分析器,它带有完整的源代码......