Compartilhar via


<GCHeapCount> elemento

Especifica o número de heaps/threads a serem usados para coleta de lixo do servidor.

<configuração>
   <Runtime>
     <GCHeapCount>

Sintaxe

<GCHeapCount
   enabled="nn"/>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Attributes

Attribute Description
enabled Atributo necessário.

Especifica o número de heaps a serem usados para coleta de lixo do servidor. O número real de heaps é o mínimo do número de heaps especificado e o número de processadores que seu processo pode usar.

atributo habilitado

Value Description
nn O número de heaps a serem usados para o GC do servidor.

Elementos filho

Nenhum.

Elementos pai

Elemento Description
configuration O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework.
runtime Contém informações sobre associação de assembly e coleta de lixo.

Observações

Por padrão, os threads do GC do servidor são afinidades com sua respectiva CPU para que haja um heap de GC, um thread GC de servidor e um thread GC de servidor em segundo plano para cada processador. A partir do .NET Framework 4.6.2, você pode usar o GCHeapCount elemento para limitar o número de heaps usados pelo aplicativo para o GC do servidor. Limitar o número de heaps usados para o GC do servidor é particularmente útil para sistemas que executam várias instâncias de um aplicativo de servidor.

GCHeapCount normalmente é usado junto com dois outros sinalizadores:

  • GCNoAffinitize, que controla se os threads/heaps do GC do servidor são afinidades com CPUs.

  • GCHeapAffinitizeMask, que controla a afinidade de threads/heaps de GC com CPUs.

Se GCHeapCount estiver definido e GCNoAffinitize desabilitado (sua configuração padrão), haverá uma afinidade entre os threads/heaps do NN e os primeiros processadores nn . Você pode usar o GCHeapAffinitizeMask elemento para especificar quais processadores são usados pelos heaps de GC do servidor do processo. Caso contrário, se vários processos de servidor estiverem em execução em um sistema, o uso do processador será sobreposto.

Se GCHeapCount estiver definido e GCNoAffinitize habilitado, o coletor de lixo limitará o número de processadores usados para o GC do servidor, mas não afinidaderá heaps e processadores de GC.

Example

O exemplo a seguir indica que um aplicativo usa o GC do servidor com 10 heaps/threads. Como você não deseja que esses heaps se sobreponham a heaps de outros aplicativos em execução no sistema, use o GCHeapAffinitizeMask para especificar que o processo deve usar CPUs 0 a 9.

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

O exemplo a seguir não afinidade threads GC servidor e limita o número de heaps/threads GC para 10.

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

Consulte também