<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 mussfalse
(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>