Compartir a través de


Configuración de la recolección de elementos no utilizados de .NET

Para un buen rendimiento, es importante configurar la recolección de elementos no utilizados de .NET para el proceso de silo de la manera correcta. La mejor combinación de configuraciones en función de los resultados del equipo es establecer gcServer=true y gcConcurrent=true. Puede configurar estos valores en el proyecto de C# (.csproj) o en un app.config. Para más información, vea Tipos de recolección de elementos no utilizados.

.NET Core, y .NET 5 y versiones posteriores

Este método no se admite con proyectos de estilo SDK que se compilan en la versión completa de .NET Framework

<PropertyGroup>
    <ServerGarbageCollection>true</ServerGarbageCollection>
    <ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
</PropertyGroup>

.NET Framework

Los proyectos de estilo de SDK que se compilan con .NET Framework completo deben seguir usando este estilo de configuración, considere un ejemplo de archivo XML app.config:

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

Sin embargo, esto no es tan fácil de hacer si un silo se ejecuta como parte de un rol de trabajo de Azure, que de forma predeterminada está configurado para usar GC de estación de trabajo. Hay una entrada de blog relevante que describe cómo establecer la misma configuración para un rol de trabajo de Azure, consulte Modo de recolección de elementos no utilizados del servidor en Azure.

Importante

La recolección de elementos no utilizados del servidor solo está disponible en equipos multiprocesador. Por lo tanto, incluso si configura la recolección de elementos no utilizados a través del archivo .csproj de la aplicación o a través de los scripts de la entrada de blog a la que se hace referencia, si el silo se ejecuta en una máquina (virtual) con un solo núcleo, no obtendrá las ventajas de gcServer=true. Para obtener más información, consulte Notas de GCSettings.IsServerGC.