COR_GC_STATS 结构

提供有关公共语言运行时 (CLR) 的垃圾回收机制的统计信息。

语法

typedef struct _COR_GC_STATS {  
    ULONG   Flags;
    SIZE_T  ExplicitGCCount;  
    SIZE_T  GenCollectionsTaken[3];  
    SIZE_T  CommittedKBytes;
    SIZE_T  ReservedKBytes;  
    SIZE_T  Gen0HeapSizeKBytes;  
    SIZE_T  Gen1HeapSizeKBytes;  
    SIZE_T  Gen2HeapSizeKBytes;  
    SIZE_T  LargeObjectHeapSizeKBytes;  
    SIZE_T  KBytesPromotedFromGen0;  
    SIZE_T  KBytesPromotedFromGen1;  
} COR_GC_STATS;  

成员

成员 说明
Flags 指示应计算和返回哪些字段值。
ExplicitGCCount 指示由外部请求强制执行的垃圾回收数。
GenCollectionsTaken 指示每个代系执行的垃圾回收数。
CommittedKBytes 所有堆中提交的总千字节数。
ReservedKBytes 所有堆中保留的总千字节数。
Gen0HeapSizeKBytes 第 0 代堆的大小(以 KB 为单位)。
Gen1HeapSizeKBytes 第 1 代堆的大小(以 KB 为单位)。
Gen2HeapSizeKBytes 第 2 代堆的大小(以 KB 为单位)。
LargeObjectHeapSizeKBytes 大型对象堆的大小(以字节为单位)。
KBytesPromotedFromGen0 从第 0 代提升为第 1 代的对象的大小(以 KB 为单位)。
KBytesPromotedFromGen1 从第 1 代提升为第 2 代的对象的大小(以 KB 为单位)。

备注

ICLRGCManager::GetStats 方法要求将 COR_GC_STATS 结构的 Flags 字段设置为 COR_GC_STAT_TYPES 枚举的一个或多个值,以指定要设置的统计信息。

下表将此结构提供的统计信息映射到两个 COR_GC_STAT_TYPES 枚举值 - COR_GC_COUNTSCOR_GC_MEMORYUSAGE

由 COR_GC_COUNTS 指定 由 COR_GC_MEMORYUSAGE 指定
ExplicitGCCount

GenCollectionsTaken
CommittedKBytes

ReservedKBytes

Gen0HeapSizeKBytes

Gen1HeapSizeKBytes

Gen2HeapSizeKBytes

LargeObjectHeapSizeKBytes

KBytesPromotedFromGen0

KBytesPromotedFromGen1

用法示例如下:

COR_GC_STATS GCStats;  
GCStats.Flags = COR_GC_COUNTS | COR_GC_MEMORYUSAGE;  
pCLRGCManager->GetStats(&GCStats);  

要求

平台:请参阅系统要求

标头:GCHost.idl

库:作为资源包含在 MSCorEE.dll 中

.NET Framework 版本:自 1.0 起可用

另请参阅