Delen via


.NET garbagecollection configureren

Voor goede prestaties is het belangrijk om .NET garbagecollection te configureren voor het siloproces op de juiste manier. De beste combinatie van instellingen op basis van de bevindingen van het team is het instellen gcServer=true en gcConcurrent=true. U kunt deze waarden configureren in het C#-project (.csproj) of een app.config. Zie Flavors of garbagecollection voor meer informatie.

.NET Core en .NET 5+

Deze methode wordt niet ondersteund met SDK-stijlprojecten die zijn gebaseerd op het volledige .NET Framework

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

.NET Framework

Sdk-stijlprojecten die zijn gebaseerd op het volledige .NET Framework, moeten deze configuratiestijl nog steeds gebruiken. Overweeg een voorbeeld van een XML-bestand met app.config :

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

Dit is echter niet zo eenvoudig als een silo wordt uitgevoerd als onderdeel van een Azure-werkrol, die standaard is geconfigureerd voor het gebruik van werkstation GC. Er is een relevant blogbericht waarin wordt beschreven hoe u dezelfde configuratie instelt voor een Azure-werkrol. Zie de modus Server garbagecollection in Azure.

Belangrijk

De garbagecollection van de server is alleen beschikbaar op computers met meerdere processors. Dus zelfs als u de garbagecollection configureert via het .csproj-bestand van de toepassing of via de scripts in het genoemde blogbericht, als de silo wordt uitgevoerd op een (virtuele) machine met één kern, krijgt u niet de voordelen vangcServer=true. Zie GC Instellingen voor meer informatie. IsServerGC opmerkingen.