Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para um bom desempenho, é importante configurar a coleta de lixo .NET corretamente para o processo de silo. Com base nas descobertas da equipe, a melhor combinação de configurações é gcServer=true e gcConcurrent=true. Você pode configurar esses valores em seu projeto C# (.csproj) ou em um arquivo app.config . Para obter mais informações, consulte Sabores da coleta de lixo.
.NET Core e .NET 5+
Este método não é suportado para projetos no estilo SDK que compilem contra o .NET Framework completo.
<PropertyGroup>
<ServerGarbageCollection>true</ServerGarbageCollection>
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
</PropertyGroup>
.NET Framework
Projetos no estilo SDK compilados em relação ao .NET Framework completo ainda devem usar esse estilo de configuração. Considere um exemplo app.config arquivo XML:
<configuration>
<runtime>
<gcServer enabled="true"/>
<gcConcurrent enabled="true"/>
</runtime>
</configuration>
No entanto, isso não é tão fácil se um silo for executado como parte de uma Função de Trabalho do Azure, que usa como padrão o GC da estação de trabalho. Uma postagem de blog relevante discute como definir a mesma configuração para uma Função de Trabalho do Azure; consulte Modo de coleta de lixo do servidor no Azure.
Importante
A coleta de lixo do servidor está disponível apenas em computadores com vários processadores. Portanto, mesmo que você configure a coleta de lixo por meio do arquivo .csproj do aplicativo ou dos scripts na postagem de blog mencionada, você não obterá os benefícios de gcServer=true se o silo for executado em uma máquina (virtual) com um único núcleo. Para obter mais informações, consulte GCSettings.IsServerGC remarks.