<Elementet GCHeapAffinitizeMask>
Definierar tillhörigheten mellan GC-heaps och enskilda processorer.
<Konfiguration>
<Runtime>
<GCHeapAffinitizeMask>
Syntax
<GCHeapAffinitizeMask
enabled="nnnn"/>
Attribut och element
I följande avsnitt beskrivs attribut, underordnade element och överordnade element.
Attribut
Attribut | Beskrivning |
---|---|
enabled |
Obligatoriskt attribut. Anger tillhörigheten mellan GC-heaps och enskilda processorer. |
aktiverat attribut
Värde | Beskrivning |
---|---|
nnnn |
Ett decimalvärde som utgör en bitmask som definierar tillhörigheten mellan server-GC-heaps och enskilda processorer. |
Underordnade element
Inga.
Överordnade element
Element | Beskrivning |
---|---|
configuration |
Rotelementet i varje konfigurationsfil som används av common language runtime och .NET Framework program. |
runtime |
Innehåller information om sammansättningsbindning och skräpinsamling. |
Kommentarer
Som standard är server GC-trådar hårdtillhörighet med deras respektive CPU så att det finns en GC-heap, en server GC-tråd och en bakgrundsserver GC-tråd för varje processor. Från och med .NET Framework 4.6.2 kan du använda elementet GCHeapAffinitizeMask för att styra tillhörigheten mellan server-GC-heaps och processorer när antalet heaps begränsas av elementet GCHeapCount.
GCHeapAffinitizeMask används vanligtvis tillsammans med två andra flaggor:
GCNoAffinitize, som styr om server GC-trådar/heaps är tillhörighet till processorer. Attributet
enabled
för elementet GCNoAffinitize måste varafalse
(dess standardvärde) för inställningen GCHeapAffinitizeMask som ska användas.GCHeapCount, som begränsar antalet heaps som används av processen för server-GC. Som standard finns det en heap för varje processor.
nnnn är en bitmask uttryckt som ett decimalvärde. Bit 0 av byte 0 representerar processor 0, bit 1 av byte 0 representerar processor 1 och så vidare. Ett exempel:
<GCHeapAffinitizeMask enabled="1023"/>
Värdet 1023 är 0x3FF eller 0011 1111 1111b. Processen använder 10 processorer, från processor 0 till processor 9.
Exempel
I följande exempel anges att ett program använder server-GC med 10 heaps/trådar. Eftersom du inte vill att dessa heaps ska överlappa med heaps från andra program som körs i systemet använder du GCHeapAffinitizeMask för att ange att processen ska använda processorer 0 till och med 9.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCHeapAffinitizeMask enabled="1023"/>
</runtime>
</configuration>