GCSettings.LargeObjectHeapCompactionMode GCSettings.LargeObjectHeapCompactionMode GCSettings.LargeObjectHeapCompactionMode GCSettings.LargeObjectHeapCompactionMode Property

Définition

Obtient ou définit une valeur indiquant si un garbage collection de blocage compacte le tas d'objets volumineux (LOH).Gets or sets a value that indicates whether a full blocking garbage collection compacts the large object heap (LOH).

public:
 static property System::Runtime::GCLargeObjectHeapCompactionMode LargeObjectHeapCompactionMode { System::Runtime::GCLargeObjectHeapCompactionMode get(); void set(System::Runtime::GCLargeObjectHeapCompactionMode value); };
[set: System.Security.SecurityCritical]
public static System.Runtime.GCLargeObjectHeapCompactionMode LargeObjectHeapCompactionMode { get; set; }
member this.LargeObjectHeapCompactionMode : System.Runtime.GCLargeObjectHeapCompactionMode with get, set
Public Shared Property LargeObjectHeapCompactionMode As GCLargeObjectHeapCompactionMode

Valeur de propriété

L'une des valeurs d'énumération indiquant si un garbage collection de blocage complet compacte le tas d'objets volumineux (LOH).One of the enumeration values that indicates whether a full blocking garbage collection compacts the LOH.

Remarques

Le LOH est utilisé pour l’allocation de mémoire pour les objets volumineux (tels que des tableaux) qui requièrent plus de 85 000 octets.The LOH is used for allocating memory for large objects (such as arrays) that require more than 85,000 bytes. En raison de l’impact sur les performances de copie de grands blocs de mémoire, le garbage collector balaye habituellement le LOH, ce qui implique la création d’une liste des emplacements de mémoire qui ont été occupée par les objets morts et qui peuvent être réutilisés pour satisfaire les demandes ultérieures de allocation de mémoire pour les objets volumineux.Because of the performance impact of copying large blocks of memory, the garbage collector ordinarily sweeps the LOH, which involves creating a list of the memory locations that were occupied by dead objects and that can be reused to satisfy future requests for allocation of memory for large objects. Toutefois, dans les applications massivement utiliser du LOH pour stocker les objets temporaires, la fragmentation peut également nuire aux performances de mémoire.However, in apps that make extensive use of the LOH to store transient objects, memory fragmentation can also adversely impact performance. Dans ce cas, il est possible d’utiliser le LargeObjectHeapCompactionMode propriété pour compacter le LOH plutôt que de simplement balayage pendant un garbage collection.In this case, it is possible to use the LargeObjectHeapCompactionMode property to compact rather than simply sweep the LOH during a garbage collection.

La valeur par défaut de la LargeObjectHeapCompactionMode propriété est GCLargeObjectHeapCompactionMode.Default, ce qui indique que le LOH n’est pas compacté pendant le garbage collection.The default value of the LargeObjectHeapCompactionMode property is GCLargeObjectHeapCompactionMode.Default, which indicates that the LOH is not compacted during garbage collections. Si vous affectez à la propriété une valeur de GCLargeObjectHeapCompactionMode.CompactOnce, le LOH est compacté pendant la prochain garbage collection de blocage et la valeur de propriété est réinitialisée à GCLargeObjectHeapCompactionMode.Default.If you assign the property a value of GCLargeObjectHeapCompactionMode.CompactOnce, the LOH is compacted during the next full blocking garbage collection, and the property value is reset to GCLargeObjectHeapCompactionMode.Default.

Notes

Ne pas bloquent les garbage collections en arrière-plan.Background garbage collections are not blocking. Cela signifie que, si vous définissez la LargeObjectHeapCompactionMode propriété GCLargeObjectHeapCompactionMode.CompactOnce, toute génération arrière-plan 2 collections qui se produisent par la suite ne compactent pas le LOH.This means that, if you set the LargeObjectHeapCompactionMode property to GCLargeObjectHeapCompactionMode.CompactOnce, any background generation 2 collections that occur subsequently do not compact the LOH. Uniquement la première génération de blocage collection 2 compacte le tas des objets volumineux.Only the first blocking generation 2 collection compacts the LOH.

Après le LargeObjectHeapCompactionMode propriété est définie sur GCLargeObjectHeapCompactionMode.CompactOnce, le prochain garbage collection de blocage (et le compactage du LOH) se produit à une date ultérieure indéterminé.After the LargeObjectHeapCompactionMode property is set to GCLargeObjectHeapCompactionMode.CompactOnce, the next full blocking garbage collection (and compaction of the LOH) occurs at an indeterminate future time. Vous pouvez compacter le LOH immédiatement à l’aide de code semblable au suivant :You can compact the LOH immediately by using code like the following:

GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();      
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce
GC.Collect()      

S’applique à

Voir aussi