<GCHeapAffinitizeMask>, élément
Définit l’affinité entre des tas de nettoyage de la mémoire et des processeurs individuels.
<configuration>
<runtime>
<GCHeapAffinitizeMask>
Syntaxe
<GCHeapAffinitizeMask
enabled="nnnn"/>
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributs
Attribut | Description |
---|---|
enabled |
Attribut requis. Spécifie l’affinité entre des tas de nettoyage de la mémoire et des processeurs individuels. |
Attribut enabled
Valeur | Description |
---|---|
nnnn |
Valeur décimale formant un masque de bits définissant l’affinité entre des tas de nettoyage de la mémoire du serveur et des processeurs individuels. |
Éléments enfants
Aucune.
Éléments parents
Élément | Description |
---|---|
configuration |
Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework. |
runtime |
Contient des informations sur les liaisons d’assembly et l’opération garbage collection. |
Notes
Par défaut, une affinité processeur lie les threads de nettoyage de la mémoire du serveur à leur processeur respectif, de sorte qu’il existe un tas de nettoyage de la mémoire, un thread de nettoyage de la mémoire du serveur, et un thread de nettoyage de la mémoire du serveur en arrière-plan pour chaque processeur. À compter de .NET Framework 4.6.2, vous pouvez utiliser l’élément GCHeapAffinitizeMask pour contrôler l’affinité entre des tas de nettoyage de la mémoire du serveur et des processeurs lorsque le nombre de tas est limité par l’élément GCHeapCount.
GCHeapAffinitizeMask est généralement utilisé avec deux autres indicateurs :
GCNoAffinitize qui contrôle si les threads/tas de nettoyage de la mémoire du serveur ont une affinité avec des processeurs. L’attribut
enabled
de l’élément GCNoAffinitize doit êtrefalse
(sa valeur par défaut) pour le paramètre GCHeapAffinitizeMask à utiliser.GCHeapCount qui limite le nombre de tas que le processus utilise pour le nettoyage de la mémoire du serveur. Par défaut, il existe un tas pour chaque processeur.
nnnn est un masque de bits exprimé sous forme de valeur décimale. Le bit 0 d’octet 0 représente le processeur 0, le bit 1 d’octet 0 représente le processeur 1, et ainsi de suite. Par exemple :
<GCHeapAffinitizeMask enabled="1023"/>
Une valeur de 1023 est 0x3FF ou 0011 1111 1111b. Le processus utilise 10 processeurs, du processeur 0 au processeur 9.
Exemple
L’exemple suivant indique qu’une application utilise le nettoyage de la mémoire du serveur avec 10 tas/threads. Étant donné que vous ne souhaitez pas que ces tas se chevauchent avec des tas d’autres applications s’exécutant sur le système, utilisez GCHeapAffinitizeMask pour spécifier que le processus doit utiliser les processeurs 0 à 9.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCHeapAffinitizeMask enabled="1023"/>
</runtime>
</configuration>