Share via


<Het element GCHeapCount>

Hiermee geeft u het aantal heaps/threads te gebruiken voor de garbagecollection van de server.

<configuratie>
  <Runtime>
    <GCHeapCount>

Syntax

<GCHeapCount
   enabled="nn"/>

Kenmerken en elementen

In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.

Kenmerken

Kenmerk Beschrijving
enabled Vereist kenmerk.

Hiermee geeft u het aantal te gebruiken heaps voor de server garbagecollection. Het werkelijke aantal heaps is het minimum van het aantal heaps dat u opgeeft en het aantal processors dat uw proces mag gebruiken.

kenmerk ingeschakeld

Waarde Beschrijving
nn Het aantal heaps dat moet worden gebruikt voor server-GC.

Onderliggende elementen

Geen.

Bovenliggende elementen

Element Beschrijving
configuration Het hoofdelement in elk configuratiebestand dat wordt gebruikt door de common language runtime en .NET Framework toepassingen.
runtime Bevat informatie over assemblybinding en garbagecollection.

Opmerkingen

Server GC-threads zijn standaard gebonden aan hun respectieve CPU, zodat er één GC-heap, één server-GC-thread en één GC-achtergrondserverthread voor elke processor is. Vanaf .NET Framework 4.6.2 kunt u het element GCHeapCount gebruiken om het aantal heaps te beperken dat door uw toepassing wordt gebruikt voor server-GC. Het beperken van het aantal heaps dat wordt gebruikt voor server-GC is met name handig voor systemen die meerdere exemplaren van een servertoepassing uitvoeren.

GCHeapCount wordt doorgaans samen met twee andere vlaggen gebruikt:

  • GCNoAffinitize, waarmee wordt bepaald of server-GC-threads/heaps affiniteit hebben met CPU's.

  • GCHeapAffinitizeMask, waarmee de affiniteit van GC-threads/heaps met CPU's wordt bepaald.

Als GCHeapCount is ingesteld en GCNoAffinitize is uitgeschakeld (de standaardinstelling), is er een affiniteit tussen de nn GC-threads/heaps en de eerste nn-processors . U kunt het element GCHeapAffinitizeMask gebruiken om op te geven welke processors worden gebruikt door de GC-heaps van de server van het proces. Als er anders meerdere serverprocessen op een systeem worden uitgevoerd, overlapt het processorgebruik ervan.

Als GCHeapCount is ingesteld en GCNoAffinitize is ingeschakeld, beperkt de garbagecollector het aantal processors dat wordt gebruikt voor server-GC, maar affiniteit met GC heaps en processors niet.

Voorbeeld

Het volgende voorbeeld geeft aan dat een toepassing gebruikmaakt van server-GC met 10 heaps/threads. Omdat u niet wilt dat deze heaps overlappen met heaps van andere toepassingen die op het systeem worden uitgevoerd, gebruikt u de GCHeapAffinitizeMask om op te geven dat het proces CPU's 0 tot en met 9 moet gebruiken.

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

In het volgende voorbeeld worden server-GC-threads niet affiniteit en wordt het aantal GC-heaps/threads beperkt tot 10.

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

Zie ook