<GCHeapCount>-Element
Gibt die Anzahl von Heaps/Threads an, die für die Garbage Collection auf dem Server verwendet werden sollen.
<Konfiguration>
<Laufzeit>
<GCHeapCount>
Syntax
<GCHeapCount
enabled="nn"/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
attribute | Beschreibung |
---|---|
enabled |
Erforderliches Attribut. Gibt die Anzahl von Heaps an, die für die Garbage Collection auf dem Server verwendet werden sollen. Die tatsächliche Anzahl von Heaps ist die Mindestanzahl der Heaps, die Sie angeben, und die Anzahl der Prozessoren, die Ihr Prozess verwenden darf. |
enabled-Attribut
Wert | BESCHREIBUNG |
---|---|
nn |
Die Anzahl der Heaps, die für die Server GC verwendet werden sollen. |
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 GCHeapCount-Element verwenden, um die Anzahl der Heaps zu begrenzen, die von Ihrer Anwendung für die Server GC verwendet werden. Das Begrenzen der Anzahl der Heaps, die für die Server GC verwendet werden, ist besonders nützlich für Systeme, die mehrere Instanzen einer Serveranwendung ausführen.
GCHeapCount wird in der Regel zusammen mit zwei anderen Flags verwendet:
GCNoAffinitize, das steuert, ob Server-GC-Threads/-Heaps CPUs zugeordnet werden.
GCHeapAffinitizeMask, das die Affinität von GC-Threads/-Heaps zu CPUs steuert.
Wenn GCHeapCount festgelegt und GCNoAffinitize deaktiviert ist (Standardeinstellung), besteht eine Affinität zwischen den nn GC-Threads/-Heaps und den ersten nn Prozessoren. Sie können das GCHeapAffinitizeMask-Element verwenden, um anzugeben, welche Prozessoren von den Server GC-Heaps des Prozesses verwendet werden. Andernfalls überschneidet sich die Prozessornutzung, wenn mehrere Serverprozesse auf einem System ausgeführt werden.
Wenn GCHeapCount festgelegt und GCNoAffinitize aktiviert ist, begrenzt der Garbage Collector die Anzahl der Prozessoren, die für die Server GC verwendet werden, stellt aber keine Affinität zwischen GC-Heaps und Prozessoren her.
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>
Im folgenden Beispiel wird keine Affinität der Server GC-Threads hergestellt, und die Anzahl der GC-Heaps/-Threads wird auf 10 begrenzt.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCNoAffinitize enabled="true"/>
</runtime>
</configuration>