<GCHeapCount> elem
A kiszolgáló szemétgyűjtéséhez használandó heapok/szálak számát adja meg.
<Konfigurációs>
<Runtime>
<GCHeapCount>
Syntax
<GCHeapCount
enabled="nn"/>
Attribútumok és elemek
Az alábbi szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik.
Attribútumok
Attribútum | Leírás |
---|---|
enabled |
Kötelező attribútum. A kiszolgáló szemétgyűjtéséhez használandó heapok számát adja meg. A heapok tényleges száma a megadott heapok számának és a folyamat által használható processzorok számának minimális száma. |
enabled attribútum
Érték | Leírás |
---|---|
nn |
A kiszolgálói GC-hez használandó heapok száma. |
Gyermekelemek
Nincsenek.
Szülőelemek
Elem | Leírás |
---|---|
configuration |
A közös nyelvi futtatókörnyezet és .NET-keretrendszer alkalmazások által használt összes konfigurációs fájl gyökéreleme. |
runtime |
Információkat tartalmaz a szerelvénykötésről és a szemétgyűjtésről. |
Megjegyzések
Alapértelmezés szerint a kiszolgálói GC-szálak a megfelelő processzorral vannak erősen affinitva, így minden egyes processzorhoz egy GC-, egy kiszolgálói GC-szál és egy háttérkiszolgálói GC-szál tartozik. A .NET-keretrendszer 4.6.2-es verziójától kezdve a GCHeapCount elem használatával korlátozhatja az alkalmazás által a kiszolgálói GC-hez használt heapok számát. A kiszolgálói GC-hez használt heapok számának korlátozása különösen hasznos a kiszolgálóalkalmazás több példányát futtató rendszerek esetében.
A GCHeapCount általában két másik jelzővel együtt használatos:
GCNoAffinitize, amely azt szabályozza, hogy a kiszolgálói GC-szálak/-heapok affinitása-e a PROCESSZORokkal.
GCHeapAffinitizeMask, amely szabályozza a GC-szálak/-heapok és a CPU-k affinitását.
Ha a GCHeapCount be van állítva, és a GCNoAffinitize le van tiltva (az alapértelmezett beállítás), akkor affinitás van az nn GC-szálak/-heaps és az első nn processzorok között. A GCHeapAffinitizeMask elem használatával megadhatja, hogy a folyamat kiszolgálói GC-heapjai mely processzorokat használják. Ellenkező esetben, ha több kiszolgálófolyamat fut egy rendszeren, a processzorhasználata átfedésben lesz.
Ha a GCHeapCount be van állítva, és a GCNoAffinitize engedélyezve van, a szemétgyűjtő korlátozza a kiszolgálói GC-hez használt processzorok számát, de nem affinitja a GC-heapokat és a processzorokat.
Példa
Az alábbi példa azt jelzi, hogy egy alkalmazás 10 heaps/szálas kiszolgálói GC-t használ. Mivel nem szeretné, hogy ezek a halommemória átfedésben legyen a rendszeren futó más alkalmazások halmaival, a GCHeapAffinitizeMask használatával megadhatja, hogy a folyamat 0–9 cpu-kat használjon.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCHeapAffinitizeMask enabled="1023"/>
</runtime>
</configuration>
Az alábbi példa nem affinitja a kiszolgálói csoportházirend-szálakat, és a GC-heapok/szálak számát 10-re korlátozza.
<configuration>
<runtime>
<gcServer enabled="true"/>
<GCHeapCount enabled="10"/>
<GCNoAffinitize enabled="true"/>
</runtime>
</configuration>
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: