Elemento <gcServer>

Especifica se o Common Language Runtime executa a coleta de lixo do servidor.

<configuração>
  <runtime>
    <gcServer>

Syntax

<gcServer
   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 o runtime executa a coleta de lixo do servidor.

atributo habilitado

Valor Descrição
false Não executa a coleta de lixo do servidor. Esse é o padrão.
true Executa a coleta de lixo de servidor.

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

O CLR (Common Language Runtime) permite dois tipos de coleta de lixo: a coleta de lixo da estação de trabalho, disponível em todos os sistemas e a coleta de lixo do servidor, disponível em sistemas multiprocessadores. Use o elemento gcServer para controlar o tipo de coleta de lixo que o CLR executa. Use a propriedade GCSettings.IsServerGC para determinar se a coleta de lixo do servidor está habilitada.

Para computadores com processador único, a coleta de lixo da estação de trabalho padrão deve ser a opção mais rápida. A estação de trabalho ou o servidor podem ser usados para computadores com dois processadores. A coleta de lixo do servidor deve ser a opção mais rápida para mais de dois processadores. Geralmente, os sistemas de servidor multiprocessadores desabilitam o GC do servidor e usam o GC da estação de trabalho quando muitas instâncias de um aplicativo de servidor são executadas no mesmo computador.

Esse elemento só pode ser usado no arquivo de configuração do aplicativo. Ele será ignorado se estiver no arquivo de configuração do computador.

Observação

No .NET Framework 4 e versões anteriores, a coleta de lixo simultânea não está disponível quando a coleta de lixo do servidor está habilitada. A partir do .NET Framework 4.5, a coleta de lixo do servidor é simultânea. Para usar a coleta de lixo de servidor não simultânea, defina o elemento gcServer como true e o elemento gcConcurrent como false.

A partir do .NET Framework 4.6.2, você também pode usar os seguintes elementos para configurar o GC do servidor:

  • GCNoAffinitize, que especifica se há uma afinidade entre heaps de GC do servidor e processadores. Por padrão, há um heap de GC de servidor para cada processador.

  • GCHeapCount, que limita o número de heaps usados por um processo.

  • GCHeapAffinitizeMask, que define a afinidade entre os heaps de GC de servidor disponíveis e processadores individuais.

Exemplo

O exemplo a seguir habilita a coleta de lixo do servidor:

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

Confira também