Megosztás a következőn keresztül:


.NET-szemétgyűjtés konfigurálása

A jó teljesítmény érdekében fontos, hogy a .NET szemétgyűjtést a silófolyamathoz a megfelelő módon konfigurálja. A csapat eredményei alapján a beállítások legjobb kombinációja a beállítás gcServer=true és gcConcurrent=truea . Ezeket az értékeket a C# projektben (.csproj) vagy egy app.configban konfigurálhatja. További információ: A szemétgyűjtés ízei.

.NET Core és .NET 5+

Ez a módszer nem támogatott a teljes .NET-keretrendszer

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

.NET-keretrendszer

A teljes .NET-keretrendszer összeállító SDK-stílusú projekteknek továbbra is ezt a konfigurációs stílust kell használniuk, tekintsünk egy példa app.config XML-fájlt:

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

Ez azonban nem olyan egyszerű, ha egy siló egy Azure Worker-szerepkör részeként fut, amely alapértelmezés szerint a munkaállomás GC használatára van konfigurálva. Van egy releváns blogbejegyzés, amely bemutatja, hogyan állíthatja be ugyanazt a konfigurációt egy Azure Worker-szerepkörhöz, lásd : Kiszolgálói szemétgyűjtési mód az Azure-ban.

Fontos

A kiszolgáló szemétgyűjtése csak többprocesszoros számítógépeken érhető el. Ezért még akkor is, ha a szemétgyűjtést az application .csproj fájlon vagy a hivatkozott blogbejegyzés szkriptjein keresztül konfigurálja, ha a siló egy egymagos (virtuális) gépen fut, akkor sem fogja megkapni az előnyöket gcServer=true. További információ: GC Gépház. IsServerGC megjegyzések.