Elemento <GCNoAffinitize>

Especifica se os threads de coleta de lixo do servidor devem ou não afinizar com CPUs.

<configuração>
  <runtime>
    <GCNoAffinitize>

Syntax

<GCNoAffinitize
   enabled="true|false"/>

Atributos e elementos

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

Atributos

Atributo Descrição
enabled Atributo obrigatório.

Especifica se os threads/heaps de coleta de lixo do servidor têm afinidade com os processadores disponíveis no computador.

atributo habilitado

Valor Descrição
false Afiniza threads de coleta de lixo do servidor com CPUs. Esse é o padrão.
true Não afiniza threads de coleta de lixo do servidor com CPUs.

Elementos filho

Nenhum.

Elementos pai

Elemento Descrição
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 do assembly e coleta de lixo.

Comentários

Por padrão, os threads de coleta de lixo do servidor são difíceis de afinizar com suas respectivas CPUs. Cada um dos processadores disponíveis do sistema tem seu próprio heap e thread de coleta de lixo. Normalmente, essa é a configuração preferida, pois otimiza o uso do cache. Começando com o .NET Framework 4.6.2, definindo o atributo enabled do elemento GCNoAffinitize como true, você pode especificar que os threads e as CPUs de coleta de lixo do servidor não devem estar firmemente acoplados.

Você pode especificar o elemento de configuração GCNoAffinitize sozinho para não afinizar threads de coleta de lixo do servidor com CPUs. Você também pode usá-lo junto com o elemento GCHeapCount para controlar o número de heaps e threads de coleta de lixo usados por um aplicativo.

Se o atributo enabled do elemento GCNoAffinitize for false (seu valor padrão), você também poderá usar o elemento GCHeapCount para especificar o número de threads e heaps de coleta de lixo, junto com o elemento GCHeapAffinitizeMask para especificar os processadores aos quais os threads e heaps de coleta de lixo são afinizados.

Exemplo

O exemplo a seguir não tem afinidade dura com os threads de coleta de lixo do servidor:

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

O exemplo a seguir não afiniza threads de coleta de lixo do servidor e limita o número de heaps/threads de coleta de lixo para 10:

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

Confira também