Teilen über


<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:

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>

Siehe auch