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 |
在所有堆中提交的千字节 (KB) 总数。 |
ReservedKBytes |
在所有堆中保留的千字节 (KB) 总数。 |
Gen0HeapSizeKBytes |
第零代堆的大小(以 KB 为单位)。 |
Gen1HeapSizeKBytes |
第一代堆的大小(以 KB 为单位)。 |
Gen2HeapSizeKBytes |
第二代堆的大小(以 KB 为单位)。 |
LargeObjectHeapSizeKBytes |
最大对象堆的大小(单位为 KB)。 |
KBytesPromotedFromGen0 |
从第零代提升至第一代的对象的大小(单位为 KB)。 |
KBytesPromotedFromGen1 |
从第一代提升至第二代的对象的大小(单位为 KB)。 |
备注
ICLRGCManager::GetStats 方法需要 COR_GC_STATS 结构的 Flags 字段设置为一个或多个 COR_GC_STAT_TYPES 枚举值,以指定要设置的统计信息。
下表将此结构提供的统计信息映射到两个 COR_GC_STAT_TYPES 枚举值,即 COR_GC_COUNTS 和 COR_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);
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**GCHost.idl
**库:**作为一项资源包含在 MSCorEE.dll 中
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0