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_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);

要求

**平台:**请参见 .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

请参见

概念

自动内存管理

垃圾回收

承载概述

其他资源

承载结构