簡體   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