Partager via


<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 être false (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>

Voir aussi