Dela via


<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 enabledför elementet GCNoAffinitize måste vara false (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>

Se även