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>