Sdílet prostřednictvím


<GCHeapCount> prvek

Určuje počet hald/vláken, které se mají použít pro uvolňování paměti serveru.

<konfigurace>
   <runtime>
     <GCHeapCount>

Syntaxe

<GCHeapCount
   enabled="nn"/>

Atributy a prvky

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Attributes

Vlastnost Description
enabled Povinný atribut.

Určuje počet hald, které se mají použít pro uvolňování paměti serveru. Skutečný počet hald je minimální počet hald, které zadáte, a počet procesorů, které váš proces může používat.

atribut enabled

Hodnota Description
nn Počet hald, které se mají použít pro serverový GC.

Podřízené prvky

Žádné.

Nadřazené prvky

prvek Description
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ě sestavení a uvolňová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ými procesory, takže pro každý procesor existuje jedna halda GC, jedno vlákno GC serveru a jedno vlákno uvolňování paměti serveru na pozadí. Počínaje rozhraním .NET Framework 4.6.2 můžete pomocí GCHeapCount tohoto prvku omezit počet hald používaných vaší aplikací pro serverový GC. Omezení počtu hald používaných pro serverový GC je zvlášť užitečné pro systémy, na kterých běží více instancí serverové aplikace.

GCHeapCount se obvykle používá spolu se dvěma dalšími příznaky:

  • GCNoAffinitize, která řídí, zda jsou spřažena vlákna nebo haldy serveru s procesory.

  • GCHeapAffinitizeMask, který řídí spřažení vláken GC /haldy s procesory.

Pokud GCHeapCount je nastavená 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 používají haldy serveru procesu. Pokud je v systému spuštěno více serverových procesů, jejich využití procesoru se překryjí.

Pokud GCHeapCount je nastavena a GCNoAffinitize je povolena, uvolňování paměti omezuje počet procesorů používaných pro server GC, ale spřažení halaps a procesorů GC.

Example

Následující příklad označuje, že aplikace používá server GC s 10 haldy/vlákna. 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 by měl používat procesory 0 až 9.

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

Následující příklad nepřizná spřažení vláken GC serveru a omezuje počet hald/vláken GC na 10.

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

Viz také