<elemento gcServer>

Especifica se o runtime de linguagem comum executa a recolha de lixo do servidor.

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

Syntax

<gcServer
   enabled="true|false"/>

Atributos e elementos

As secções seguintes descrevem atributos, elementos subordinados e elementos principais.

Atributos

Atributo Descrição
enabled Atributo obrigatório.

Especifica se o runtime executa a recolha de lixo do servidor.

atributo ativado

Valor Descrição
false Não executa a recolha de lixo do servidor. Esta é a predefinição.
true Executa a recolha de lixo do servidor.

Elementos subordinados

Nenhum.

Elementos principais

Elemento Descrição
configuration O elemento raiz em todos os ficheiros de configuração utilizados pelo runtime de idioma comum e .NET Framework aplicações.
runtime Contém informações sobre o enlace de montagem e a recolha de lixo.

Observações

O runtime de linguagem comum (CLR) suporta dois tipos de libertação de lixo: a libertação de lixo da estação de trabalho, que está disponível em todos os sistemas, e a recolha de lixo do servidor, que está disponível em sistemas multiprocessadores. Utilize o elemento gcServer para controlar o tipo de libertação de lixo que o CLR executa. Utilize a GCSettings.IsServerGC propriedade para determinar se a recolha de lixo do servidor está ativada.

Para computadores de processador único, a recolha de lixo da estação de trabalho predefinida deve ser a opção mais rápida. A estação de trabalho ou o servidor podem ser utilizados para computadores com dois processadores. A recolha de lixo do servidor deve ser a opção mais rápida para mais de dois processadores. Normalmente, os sistemas de servidores multiprocessadores desativam o GC do servidor e utilizam o GC da estação de trabalho quando muitas instâncias de uma aplicação de servidor são executadas no mesmo computador.

Este elemento só pode ser utilizado no ficheiro de configuração da aplicação; é ignorado se estiver no ficheiro de configuração do computador.

Nota

No .NET Framework 4 e versões anteriores, a recolha simultânea de lixo não está disponível quando a recolha de lixo do servidor está ativada. A partir da .NET Framework 4.5, a recolha de lixo do servidor é simultânea. Para utilizar a libertação da memória do servidor não concurrente, defina o elemento gcServer como true e o elemento gcConcurrent como false.

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

  • GCNoAffinitize, que especifica se existe uma afinidade entre os processadores e as áreas de dados GC do servidor. Por predefinição, existe um servidor gc heap para cada processador.

  • GCHeapCount, que limita o número de áreas dinâmicas utilizadas por um processo.

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

Exemplo

O exemplo seguinte permite a recolha de lixo do servidor:

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

Ver também