GCMemoryInfo Struct
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides a set of APIs that can be used to retrieve garbage collection information.
public value class GCMemoryInfo
public readonly struct GCMemoryInfo
type GCMemoryInfo = struct
Public Structure GCMemoryInfo
- Inheritance
Remarks
A garbage collection (GC) is identified by its Index, which starts from 1 and increases with each GC. If you ask for a GC that doesn't exist, you'll get all 0's in the info, including the Index. For example, you'll get 0's if you call the GetGCMemoryInfo method before a GC has happened, or you ask for a GC of GCKind.FullBlocking and no full blocking GCs have happened. You can use index 0 to detect that no GCs, or no GCs of the kind you specified, have occurred.
Properties
Compacted |
Gets a value that indicates if this is a compacting GC or not. |
Concurrent |
Gets a value that indicates if this is a concurrent GC (background GC) or not. |
FinalizationPendingCount |
Gets the number of objects that are ready for finalization that this GC observed. |
FragmentedBytes |
Gets the total fragmentation when the last garbage collection occurred. |
Generation |
Gets the generation this GC collected. Collecting a generation also collects younger generations. |
GenerationInfo |
Gets the generation information for all generations. |
HeapSizeBytes |
Gets the total heap size when the last garbage collection occurred. |
HighMemoryLoadThresholdBytes |
Gets the high memory load threshold when the last garbage collection occurred. |
Index |
Gets the index of this GC. |
MemoryLoadBytes |
Gets the physical memory load when the last garbage collection occurred. |
PauseDurations |
Gets the durations of the pauses when all managed threads are suspended. |
PauseTimePercentage |
Gets the pause time percentage in the GC so far. If the pause time is 1.2%, this property's value is 1.2. The value is calculated by taking the sum of all GC pauses so far and dividing that by the total elapsed time of the process since the runtime was loaded. This running counter is updated at the end of each GC. It does not distinguish between GCKind. That is, at every GC, the calculated value is updated, and when you access this property, it gets the latest calculated value. |
PinnedObjectsCount |
Gets the number of pinned objects this GC observed. |
PromotedBytes |
Gets the promoted bytes for this GC. |
TotalAvailableMemoryBytes |
Gets the total available memory for the garbage collector to use when the last garbage collection occurred. |
TotalCommittedBytes |
Gets the total committed bytes of the managed heap. |