<Element GCHeapCount>
Určuje počet hald/vláken, které se mají použít pro uvolňování paměti serveru.
<Konfigurace>
<Runtime>
<GCHeapCount>
Syntax
<GCHeapCount
enabled="nn"/>
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 počet hald, které se mají použít pro uvolňování paměti serveru. Skutečný počet heaps je minimální počet zadaných heaps a počet procesorů, které může váš proces používat. |
atribut enabled
Hodnota | Popis |
---|---|
nn |
Počet heaps, které se mají použít pro server GC. |
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 serveru GC pevně spřažení s příslušným procesorem, takže pro každý procesor existuje jedna halda GC, jedno vlákno serveru GC a jedno vlákno GC serveru na pozadí. Počínaje rozhraním .NET Framework 4.6.2 můžete pomocí elementu GCHeapCount omezit počet hald používaných vaší aplikací pro server GC. Omezení počtu heaps používaných pro serverové uvolňování paměti je užitečné zejména v systémech, ve kterých běží více instancí serverové aplikace.
GCHeapCount se obvykle používá spolu se dvěma dalšími příznaky:
GCNoAffinitize, který určuje, jestli jsou vlákna nebo haldy serveru GC spřaženy s procesory.
GCHeapAffinitizeMask, který řídí spřažení vláken/hald GC s procesory.
Pokud je nastavena hodnota GCHeapCount a GCNoAffinitize je zakázaná (výchozí nastavení), existuje spřažení mezi vlákny/haldami nn GC a prvními procesory nn . Pomocí elementu GCHeapAffinitizeMask můžete určit, které procesory budou používány haldami GC procesu. Pokud je v systému spuštěno více serverových procesů, jejich využití procesoru se bude překrývat.
Pokud je nastaven parametr GCHeapCount a je povolená funkce GCNoAffinitize , systém uvolňování paměti omezí počet procesorů používaných pro serverový GC, ale nespřaží spřažení hald a procesorů GC.
Příklad
Následující příklad označuje, že aplikace používá serverovou uvolňování paměti s 10 heaps/vlákny. 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 k určení, že proces má používat procesory 0 až 9.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCHeapAffinitizeMask enabled="1023"/>
</runtime>
</configuration>
Následující příklad nespřažuje vlákna serveru GC a omezuje počet heaps/vláken GC na 10.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCNoAffinitize enabled="true"/>
</runtime>
</configuration>