Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para un buen rendimiento, es importante configurar correctamente la recolección de basura de .NET para el proceso de silo. En función de los resultados del equipo, la mejor combinación de configuración es gcServer=true y gcConcurrent=true. Puede configurar estos valores en el proyecto de C# (.csproj) o en un archivo app.config . Para obtener más información, consulte Tipos de recolección de elementos no utilizados.
.NET Core, y .NET 5 y versiones posteriores
Este método no se admite para los proyectos de estilo SDK que se compilan en .NET Framework completo.
<PropertyGroup>
<ServerGarbageCollection>true</ServerGarbageCollection>
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
</PropertyGroup>
.NET Framework
Los proyectos de estilo SDK que se compilan con .NET Framework completo deben seguir usando este estilo de configuración. Considere un ejemplo app.config archivo XML:
<configuration>
<runtime>
<gcServer enabled="true"/>
<gcConcurrent enabled="true"/>
</runtime>
</configuration>
Sin embargo, esto no es tan fácil si un silo se ejecuta como parte de un rol de trabajo de Azure, que usa de forma predeterminada gc de estación de trabajo. En una entrada de blog pertinente se 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 basura del servidor solo está disponible en ordenadores multiprocesador. Por lo tanto, incluso si configura la recolección de basura a través del archivo .csproj de la aplicación o los scripts de la publicación de blog a la que se hace referencia, no obtendrá las ventajas de gcServer=true si el silo se ejecuta en una máquina (virtual) con un único núcleo. Para obtener más información, vea comentarios de GCSettings.IsServerGC.