Teilen über


<GCHeapAffinitizeMask>-Element

Definiert die Affinität zwischen Garbage Collection (GC)-Heaps und einzelnen Prozessoren.

<Konfiguration>
  <Laufzeit>
    <GCHeapAffinitizeMask>

Syntax

<GCHeapAffinitizeMask
   enabled="nnnn"/>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

attribute Beschreibung
enabled Erforderliches Attribut.

Gibt die Affinität zwischen Garbage Collection (GC)-Heaps und einzelnen Prozessoren an.

enabled-Attribut

Wert BESCHREIBUNG
nnnn Ein Dezimalwert, der eine Bitmaske bildet, die die Affinität zwischen Server-GC-Heaps und einzelnen Prozessoren definiert.

Untergeordnete Elemente

Keine

Übergeordnete Elemente

Element BESCHREIBUNG
configuration Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei.
runtime Enthält Informationen über die Assemblybindung und die Garbage Collection.

Bemerkungen

Standardmäßig sind Server-GC-Threads hart ihrer jeweiligen CPU zugeordnet, sodass für jeden Prozessor ein GC-Heap, ein Server-GC-Thread und ein Server-GC-Hintergrundthread vorhanden ist. Ab .NET Framework 4.6.2 können Sie das GCHeapAffinitizeMask-Element verwenden, um die Affinität zwischen Server-GC-Heaps und Prozessoren zu steuern, wenn die Anzahl von Heaps durch das GCHeapCount-Element begrenzt ist.

GCHeapAffinitizeMask wird in der Regel zusammen mit zwei anderen Flags verwendet:

  • GCNoAffinitize, das steuert, ob Server-GC-Threads/-Heaps CPUs zugeordnet werden. Das enabled-Attribut des GCNoAffinitize-Elements muss false (sein Standardwert) sein, damit die GCHeapAffinitizeMask-Einstellung verwendet werden kann.

  • GCHeapCount, das die Anzahl der Heaps begrenzt, die vom Prozess für Server-GC verwendet werden. Standardmäßig gibt es einen Heap für jeden Prozessor.

nnnn ist eine Bitmaske, die als Dezimalwert ausgedrückt wird. Bit 0 von Byte 0 steht für Prozessor 0, Bit 1 von Byte 0 für Prozessor 1 usw. Beispiel:

<GCHeapAffinitizeMask enabled="1023"/>

Ein Wert von 1023 ist 0x3FF oder 0011 1111 1111b. Der Prozess verwendet 10 Prozessoren, von Prozessor 0 bis Prozessor 9.

Beispiel

Im folgenden Beispiel wird angezeigt, dass eine Anwendung Server-GC mit 10 Heaps/Threads verwendet. Da diese Heaps nicht mit Heaps aus anderen Anwendungen überlappen sollen, die auf dem System ausgeführt werden, verwenden Sie GCHeapAffinitizeMask, um anzugeben, dass der Prozess die CPUs 0 bis 9 verwenden soll.

<configuration>
   <runtime>
      <gcServer enabled="true"/>
      <GCHeapCount enabled="10"/>
      <GCHeapAffinitizeMask enabled="1023"/>
   </runtime>
</configuration>

Siehe auch