Megosztás a következőn keresztül:


<GCHeapAffinitizeMask> elem

Meghatározza a GC-heapok és az egyes processzorok közötti affinitást.

<Konfigurációs>
  <Runtime>
    <GCHeapAffinitizeMask>

Syntax

<GCHeapAffinitizeMask
   enabled="nnnn"/>

Attribútumok és elemek

Az alábbi szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik.

Attribútumok

Attribútum Leírás
enabled Kötelező attribútum.

Meghatározza a GC-heapok és az egyes processzorok közötti affinitást.

enabled attribútum

Érték Leírás
nnnn Egy decimális érték, amely bitmaszkot alkot, amely meghatározza a kiszolgálói GC-heapok és az egyes processzorok közötti affinitást.

Gyermekelemek

Nincsenek.

Szülőelemek

Elem Leírás
configuration A közös nyelvi futtatókörnyezet és .NET-keretrendszer alkalmazások által használt összes konfigurációs fájl gyökéreleme.
runtime Információkat tartalmaz a szerelvénykötésről és a szemétgyűjtésről.

Megjegyzések

Alapértelmezés szerint a kiszolgálói GC-szálak a megfelelő processzorral vannak erősen affinitva, így minden egyes processzorhoz egy GC-, egy kiszolgálói GC-szál és egy háttérkiszolgálói GC-szál tartozik. A 4.6.2-es .NET-keretrendszer kezdve a GCHeapAffinitizeMask elem használatával szabályozhatja a kiszolgálói GC-heapok és a processzorok közötti affinitást, ha a GCHeapCount elem korlátozza a heapok számát.

A GCHeapAffinitizeMask általában két másik jelzővel együtt használatos:

  • GCNoAffinitize, amely azt szabályozza, hogy a kiszolgálói GC-szálak/-heapok affinitása-e a PROCESSZORokkal. A enabledGCNoAffinitize elem attribútumának (alapértelmezett értékének) a használni kívánt GCHeapAffinitizeMask beállításnak kell lennie false .

  • GCHeapCount, amely korlátozza a folyamat által a kiszolgálói GC-hez használt heapok számát. Alapértelmezés szerint minden processzorhoz egy-egy heap tartozik.

Az nnnn egy bitmaszk, amely decimális értékként van kifejezve. A 0 bájt 0 bitje a 0 processzort, a 0 bájt 1. bitje pedig az 1. processzort jelöli, és így tovább. Például:

<GCHeapAffinitizeMask enabled="1023"/>

Az 1023 érték 0x3FF vagy 0011 1111 1111b. A folyamat 10 processzort használ, a 0 és a 9. processzor között.

Példa

Az alábbi példa azt jelzi, hogy egy alkalmazás 10 heaps/szálas kiszolgálói GC-t használ. Mivel nem szeretné, hogy ezek a halommemória átfedésben legyen a rendszeren futó más alkalmazások halmaival, a GCHeapAffinitizeMask használatával adja meg, hogy a folyamatnak 0 és 9 közötti CPU-kat kell használnia.

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

Lásd még