<GCHeapAffinitizeMask> – element
Definuje spřažení mezi GC heaps a jednotlivými procesory.
<Konfigurace>
<Runtime>
<GCHeapAffinitizeMask>
Syntax
<GCHeapAffinitizeMask
enabled="nnnn"/>
Atributy a prvky
Následující části popisují atributy, podřízené prvky a nadřazené prvky.
Atributy
Atribut | Popis |
---|---|
enabled |
Požadovaný atribut. Určuje spřažení mezi GC heaps a jednotlivými procesory. |
atribut enabled
Hodnota | Popis |
---|---|
nnnn |
Desetinná hodnota, která tvoří bitovou masku definující spřažení mezi GC serveru a jednotlivými procesory. |
Podřízené prvky
Žádné
Nadřazené prvky
Element | Popis |
---|---|
configuration |
Kořenový prvek v každém konfiguračním souboru, který je používán modulem Common Language Runtime (CLR) a aplikacemi rozhraní .NET Framework. |
runtime |
Obsahuje informace o vazbách sestavení a uvolnění paměti. |
Poznámky
Ve výchozím nastavení jsou vlákna uvolňování paměti serveru pevně spřažení s příslušným procesorem, takže pro každý procesor existuje jedna halda uvolňování paměti, jedno vlákno uvolňování paměti serveru a jedno vlákno uvolňování paměti serveru na pozadí. Počínaje rozhraním .NET Framework 4.6.2 můžete použít element GCHeapAffinitizeMask k řízení spřažení mezi serverovými haldami uvolňování paměti a procesory, pokud je počet hald omezen elementem GCHeapCount .
GCHeapAffinitizeMask se obvykle používá spolu se dvěma dalšími příznaky:
GCNoAffinitize, která určuje, zda jsou vlákna nebo hepky uvolňování paměti serveru spřaženy s procesory. Atribut
enabled
GCNoAffinitize elementu musí býtfalse
(jeho výchozí hodnota) pro nastavení GCHeapAffinitizeMask použít.GCHeapCount, který omezuje počet hald používaných procesem pro uvolňování paměti serveru. Ve výchozím nastavení je pro každý procesor jedna halda.
nnnn je bitová maska vyjádřená jako desetinná hodnota. Bit 0 bajtu 0 představuje procesor 0, bit 1 bajtu 0 představuje procesor 1 atd. Příklad:
<GCHeapAffinitizeMask enabled="1023"/>
Hodnota 1023 je 0x3FF nebo 0011 1111 1111b. Proces používá 10 procesorů, od procesoru 0 do procesoru 9.
Příklad
Následující příklad označuje, že aplikace používá uvolňování paměti serveru s 10 heaps/threads. Vzhledem k tomu, že nechcete, aby se tyto haldy překrývaly s haldami z jiných aplikací spuštěných v systému, použijte GCHeapAffinitizeMask a určete, že proces má používat procesory 0 až 9.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCHeapAffinitizeMask enabled="1023"/>
</runtime>
</configuration>