Elemento <gcServer>

Especifica si Common Language Runtime ejecuta la recopilación de elementos no utilizados de servidor.

<configuración>
  <runtime>
    <gcServer>

Sintaxis

<gcServer
   enabled="true|false"/>

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
enabled Atributo necesario.

Especifica si Common Language Runtime ejecuta la recolección de elementos no utilizados de servidor.

Atributo habilitado

Valor Descripción
false No ejecuta la recolección de elementos no utilizados de servidor. Este es el valor predeterminado.
true Ejecuta la recolección de elementos no utilizados de servidor.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción
configuration Elemento raíz de cada archivo de configuración usado por las aplicaciones de Common Language Runtime y .NET Framework.
runtime Contiene información del enlace del ensamblado y de la recolección de elementos no utilizados.

Comentarios

Common Language Runtime (CLR) admite dos tipos de recolección de elementos no utilizados: de estación de trabajo, que está disponible en todos los sistemas, y de servidor, que está disponible en sistemas multiprocesador. Use el elemento gcServer para controlar el tipo de recolección de elementos no utilizados que CLR realiza. Use la propiedad GCSettings.IsServerGC para determinar si la recolección de elementos no utilizados de servidor está habilitada.

Para equipos con un solo procesador, la recolección de elementos no utilizados de estación de trabajo predeterminada será la opción más rápida. En los equipos con dos procesadores se puede usar la opción de estación de trabajo o de servidor. La recolección de elementos no utilizados de servidor será la opción más rápida si hay más de dos procesadores. Normalmente, los sistemas de servidor multiprocesador deshabilitan la recolección de elementos no utilizados de servidor y usan la recolección de elementos no utilizados de estación de trabajo en su lugar cuando muchas instancias de una aplicación de servidor se ejecutan en la misma máquina.

Este elemento se puede usar solo en el archivo de configuración de la aplicación; se omite si se encuentra en el archivo de configuración del equipo.

Nota

En .NET Framework 4 y versiones anteriores, la recolección de elementos no utilizados simultánea no está disponible si la recolección de elementos no utilizados de servidor está habilitada. A partir de .NET Framework 4.5, la recolección de elementos no utilizados de servidor es simultánea. Para usar la recolección de elementos no utilizados de servidor no simultánea, establezca el elemento gcServer en true y el elemento gcConcurrent en false.

A partir de .NET Framework 4.6.2, también puede usar los siguientes elementos para configurar la recolección de elementos no utilizados de servidor:

  • GCNoAffinitize, que especifica si hay una afinidad entre los montones de recolección de elementos no utilizados del servidor y los procesadores. De forma predeterminada, hay un montón de recolección de elementos no utilizados para cada procesador.

  • GCHeapCount, que limita el número de montones usados por un proceso.

  • GCHeapAffinitizeMask, que define la afinidad entre los montones de GC de servidor disponibles y los procesadores individuales.

Ejemplo

En el ejemplo siguiente se habilita la recolección de elementos no utilizados de servidor:

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

Consulte también