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