COR_PRF_GC_GENERATION 列舉
指出記憶體回收產生。
語法
typedef enum {
COR_PRF_GC_GEN_0 = 0,
COR_PRF_GC_GEN_1 = 1,
COR_PRF_GC_GEN_2 = 2,
COR_PRF_GC_LARGE_OBJECT_HEAP = 3,
COR_PRF_GC_PINNED_OBJECT_HEAP= 4
} COR_PRF_GC_GENERATION;
成員
member | 描述 |
---|---|
COR_PRF_GC_GEN_0 |
物件會儲存為第 0 代。 |
COR_PRF_GC_GEN_1 |
物件會儲存為第 1 代。 |
COR_PRF_GC_GEN_2 |
物件會儲存為第 2 代。 |
COR_PRF_GC_LARGE_OBJECT_HEAP |
物件會儲存在大型物件堆積中。 |
COR_PRF_GC_PINNED_OBJECT_HEAP |
物件會儲存在釘選的物件堆積中。 |
備註
記憶體回收行程會根據存在時間將物件分為幾個世代,以改善記憶體管理效能。 記憶體回收行程目前使用三個世代 (編號為 0、1 和 2),以及兩個特殊堆積區段 (一個用於大型物件,一個用於釘選的物件)。
大小超過閾值的物件會儲存在大型物件堆積中。 釘選的物件則可配置給釘選的物件堆積,以避免在一般堆積上配置這些物件所產生的效能成本。 其他的配置物件一開始會屬於第 0 代。 在第 0 代中進行記憶體回收後還存在的物件,全都會升階為第 1 代。 在第 1 代中進行記憶體回收後還存在的物件,則會進入第 2 代。
使用世代就表示,記憶體回收行程在任何一個時間點,只能使用一部分的已配置物件。
COR_PRF_GC_GENERATION
列舉會由 COR_PRF_GC_GENERATION_RANGE 結構使用。
規格需求
平台:請參閱系統需求。
標頭: CorProf.idl、CorProf.h
程式庫:CorGuids.lib
.NET Framework版本:自 2.0 起提供