繁体   English   中英

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

[英]How to get the heap memory allocated to each generation (Gen0,Gen1,Gen2)?

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

当然,随着创建更多的对象以及增加堆的大小,该预算必须增加。

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

有没有一种方法可以将堆大小分配给每一代?

如果您真的想更深入地研究.NET内存管理,那么建议您检查以下链接:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM