GC.TryStartNoGCRegion Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg.
Överlagringar
| Name | Description |
|---|---|
| TryStartNoGCRegion(Int64, Int64, Boolean) |
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg om en angiven mängd minne är tillgängligt för den stora objekthögen och den lilla objekthögen, och styr om skräpinsamlaren utför en fullständig blockering av skräpinsamling om det inte finns tillräckligt med minne från början. |
| TryStartNoGCRegion(Int64, Int64) |
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg om en angiven mängd minne är tillgängligt för den stora objekthögen och den lilla objekthögen. |
| TryStartNoGCRegion(Int64, Boolean) |
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg om en angiven mängd minne är tillgängligt och styr om skräpinsamlaren gör en fullständig blockering av skräpinsamling om det inte finns tillräckligt med minne från början. |
| TryStartNoGCRegion(Int64) |
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg om en angiven mängd minne är tillgängligt. |
Kommentarer
Important
Du kan inte kapsla anrop till TryStartNoGCRegion metoden och du bör bara anropa EndNoGCRegion metoden om körningen för närvarande inte är i svarstidsläge för GC-regionen. Med andra ord bör du inte anropa TryStartNoGCRegion flera gånger (efter det första metodanropet kommer efterföljande anrop inte att lyckas) och du bör inte förvänta dig att EndNoGCRegion anropen ska lyckas bara för att TryStartNoGCRegion det första anropet lyckades.
TryStartNoGCRegion(Int64, Int64, Boolean)
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg om en angiven mängd minne är tillgängligt för den stora objekthögen och den lilla objekthögen, och styr om skräpinsamlaren utför en fullständig blockering av skräpinsamling om det inte finns tillräckligt med minne från början.
public:
static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
public static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
static member TryStartNoGCRegion : int64 * int64 * bool -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * int64 * bool -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, lohSize As Long, disallowFullBlockingGC As Boolean) As Boolean
Parametrar
- totalSize
- Int64
Mängden minne i byte som ska allokeras utan att utlösa en skräpinsamling.
totalSize
-
lohSize måste vara mindre än eller lika med storleken på ett tillfälliga segment. Information om storleken på ett tillfälliga segment finns i avsnittet "Tillfälliga generationer och segment" i artikeln Grunderna för skräpinsamling .
- lohSize
- Int64
Antalet byte som totalSize ska användas för loh-allokeringar (large object heap).
- disallowFullBlockingGC
- Boolean
trueatt utelämna en fullständig blockerande skräpinsamling om skräpinsamlaren inledningsvis inte kan allokera det angivna minnet på den lilla objekthögen (SOH) och LOH; annars . false
Returer
trueom körningen kunde checka in den mängd minne som krävs och skräpinsamlaren inte kan ange något svarstidsläge för GC-regionen. annars . false
- Attribut
Undantag
totalSize
-
lohSize överskrider den tillfälliga segmentstorleken.
Processen är redan i inget svarstidsläge för GC-regionen.
Kommentarer
Metoden TryStartNoGCRegion(Int64, Int64, Boolean) försöker placera skräpinsamlaren i svarstidsläge för GC-region, vilket inte tillåter skräpinsamling medan en app kör en kritisk kodregion. Om körningen inte kan allokera den begärda mängden minne från början och disallowFullBlockingGC argumentet är false, utför skräpinsamlaren en fullständig blockerande skräpinsamling i ett försök att frigöra ytterligare minne. Annars misslyckas allokeringen och metoden returnerar false. Skräpinsamlaren anger inget svarstidsläge för GC-regionen om den kan allokera lohSize för LOH och totalSize - lohSize för den lilla objekthögen (SOH).
lohSize måste vara tillräckligt stort för att hantera alla minnesallokeringar som inträffar i den kritiska sökvägen för LOH och totalSize - lohSize måste vara tillräckligt stora för att hantera alla minnesallokeringar som inträffar i den kritiska sökvägen för SOH. Detta inkluderar allokeringar av appen samt allokeringar som körningen gör för appens räkning.
Inställningen disallowFullBlockingGC för att true förhindra en fullständig blockering av skräpinsamling om det inte finns tillräckligt med minne från början är mest användbart i belastningsutjämningsscenarier: ett system kan anropa den här metoden och rapportera sig själv som redo att acceptera begäranden om den returnerar trueoch ha omdirigeringsbegäranden för lastbalanseraren till andra system om den returnerar false. Den kan sedan utföra en fullständig blockerande skräpinsamling när den inte hanterar begäranden genom att anropa Collect(Int32, GCCollectionMode, Boolean, Boolean) metoden.
Important
Du kan inte kapsla anrop till TryStartNoGCRegion metoden och du bör bara anropa EndNoGCRegion metoden om körningen för närvarande inte är i svarstidsläge för GC-regionen. Med andra ord bör du inte anropa TryStartNoGCRegion flera gånger (efter det första metodanropet kommer efterföljande anrop inte att lyckas) och du bör inte förvänta dig att EndNoGCRegion anropen ska lyckas bara för att TryStartNoGCRegion det första anropet lyckades.
Du avslutar svarstidsläget för ingen GC-region genom att anropa EndNoGCRegion metoden.
Se även
Gäller för
TryStartNoGCRegion(Int64, Int64)
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg om en angiven mängd minne är tillgängligt för den stora objekthögen och den lilla objekthögen.
public:
static bool TryStartNoGCRegion(long totalSize, long lohSize);
public static bool TryStartNoGCRegion(long totalSize, long lohSize);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, long lohSize);
static member TryStartNoGCRegion : int64 * int64 -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * int64 -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, lohSize As Long) As Boolean
Parametrar
- totalSize
- Int64
Mängden minne i byte som ska allokeras utan att utlösa en skräpinsamling.
totalSize
-
lohSize måste vara mindre än eller lika med storleken på ett tillfälliga segment. Information om storleken på ett tillfälliga segment finns i avsnittet "Tillfälliga generationer och segment" i artikeln Grunderna för skräpinsamling .
- lohSize
- Int64
Antalet byte som totalSize ska användas för loh-allokeringar (large object heap).
Returer
trueom körningen kunde checka in den mängd minne som krävs och skräpinsamlaren inte kan ange något svarstidsläge för GC-regionen. annars . false
- Attribut
Undantag
totalSize
-
lohSize överskrider den tillfälliga segmentstorleken.
Processen är redan i inget svarstidsläge för GC-regionen.
Kommentarer
Metoden TryStartNoGCRegion(Int64, Int64) försöker placera skräpinsamlaren i svarstidsläge för GC-region, vilket inte tillåter skräpinsamling medan en app kör en kritisk kodregion. Om körningen inte kan allokera den begärda mängden minne från början utför skräpinsamlaren en fullständig blockerande skräpinsamling i ett försök att frigöra ytterligare minne. Skräpinsamlaren anger inget svarstidsläge för GC-regionen om den kan allokera lohSize för LOH och totalSize - lohSize för den lilla objekthögen (SOH).
lohSize måste vara tillräckligt stort för att hantera alla minnesallokeringar som inträffar i den kritiska sökvägen för LOH och totalSize - lohSize måste vara tillräckligt stora för att hantera alla minnesallokeringar som inträffar i den kritiska sökvägen för SOH. Detta inkluderar allokeringar av appen samt allokeringar som körningen gör för appens räkning.
Important
Du kan inte kapsla anrop till TryStartNoGCRegion metoden och du bör bara anropa EndNoGCRegion metoden om körningen för närvarande inte är i svarstidsläge för GC-regionen. Med andra ord bör du inte anropa TryStartNoGCRegion flera gånger (efter det första metodanropet kommer efterföljande anrop inte att lyckas) och du bör inte förvänta dig att EndNoGCRegion anropen ska lyckas bara för att TryStartNoGCRegion det första anropet lyckades.
Du avslutar svarstidsläget för ingen GC-region genom att anropa EndNoGCRegion metoden.
Se även
Gäller för
TryStartNoGCRegion(Int64, Boolean)
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg om en angiven mängd minne är tillgängligt och styr om skräpinsamlaren gör en fullständig blockering av skräpinsamling om det inte finns tillräckligt med minne från början.
public:
static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
public static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
static member TryStartNoGCRegion : int64 * bool -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * bool -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, disallowFullBlockingGC As Boolean) As Boolean
Parametrar
- totalSize
- Int64
Mängden minne i byte som ska allokeras utan att utlösa en skräpinsamling. Den måste vara mindre än eller lika med storleken på ett tillfälliga segment. Information om storleken på ett tillfälliga segment finns i avsnittet "Tillfälliga generationer och segment" i artikeln Grunderna för skräpinsamling .
- disallowFullBlockingGC
- Boolean
true om du vill utelämna en fullständig blockerande skräpinsamling om skräpinsamlaren ursprungligen inte kan allokera totalSize byte, falseannars .
Returer
trueom körningen kunde checka in den mängd minne som krävs och skräpinsamlaren inte kan ange något svarstidsläge för GC-regionen. annars . false
- Attribut
Undantag
totalSize överskrider den tillfälliga segmentstorleken.
Processen är redan i inget svarstidsläge för GC-regionen.
Kommentarer
Metoden TryStartNoGCRegion(Int64, Boolean) försöker placera skräpinsamlaren i svarstidsläge för GC-region, vilket inte tillåter skräpinsamling medan en app kör en kritisk kodregion. Om körningen inte kan allokera den begärda mängden minne från början och disallowFullBlockingGC argumentet är false, utför skräpinsamlaren en fullständig blockerande skräpinsamling i ett försök att frigöra ytterligare minne. Annars misslyckas allokeringen och metoden returnerar false. Skräpinsamlaren anger inget svarstidsläge för GC-regionen om den kan allokera den mängd minne som krävs, vilket i det här fallet faktiskt är 2 * totalSize (den försöker allokera totalSize för den lilla objekt-heapen och totalSize för den stora objekthögen).
totalSize måste vara tillräckligt stor för att hantera alla minnesallokeringar som inträffar i den kritiska sökvägen. Detta inkluderar allokeringar av appen samt allokeringar som körningen gör för appens räkning.
Inställningen disallowFullBlockingGC för att true förhindra en fullständig blockering av skräpinsamling om det inte finns tillräckligt med minne från början är mest användbart i belastningsutjämningsscenarier: ett system kan anropa den här metoden och rapportera sig själv som redo att acceptera begäranden om den returnerar trueoch ha omdirigeringsbegäranden för lastbalanseraren till andra system om den returnerar false. Den kan sedan utföra en fullständig blockerande skräpinsamling när den inte hanterar begäranden genom att anropa Collect(Int32, GCCollectionMode, Boolean, Boolean) metoden.
Important
Du kan inte kapsla anrop till TryStartNoGCRegion metoden och du bör bara anropa EndNoGCRegion metoden om körningen för närvarande inte är i svarstidsläge för GC-regionen. Med andra ord bör du inte anropa TryStartNoGCRegion flera gånger (efter det första metodanropet kommer efterföljande anrop inte att lyckas) och du bör inte förvänta dig att EndNoGCRegion anropen ska lyckas bara för att TryStartNoGCRegion det första anropet lyckades.
Du avslutar svarstidsläget för ingen GC-region genom att anropa EndNoGCRegion metoden.
Se även
Gäller för
TryStartNoGCRegion(Int64)
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
- Källa:
- GC.CoreCLR.cs
Försöker att inte tillåta skräpinsamling under körningen av en kritisk sökväg om en angiven mängd minne är tillgängligt.
public:
static bool TryStartNoGCRegion(long totalSize);
public static bool TryStartNoGCRegion(long totalSize);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize);
static member TryStartNoGCRegion : int64 -> bool
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long) As Boolean
Parametrar
- totalSize
- Int64
Mängden minne i byte som ska allokeras utan att utlösa en skräpinsamling. Den måste vara mindre än eller lika med storleken på ett tillfälliga segment. Information om storleken på ett tillfälliga segment finns i avsnittet "Tillfälliga generationer och segment" i artikeln Grunderna för skräpinsamling .
Returer
trueom körningen kunde checka in den mängd minne som krävs och skräpinsamlaren inte kan ange något svarstidsläge för GC-regionen. annars . false
- Attribut
Undantag
totalSize överskrider den tillfälliga segmentstorleken.
Processen är redan i inget svarstidsläge för GC-regionen.
Kommentarer
Metoden TryStartNoGCRegion(Int64) försöker placera skräpinsamlaren i svarstidsläge för GC-region, vilket inte tillåter skräpinsamling medan en app kör en kritisk kodregion. Om körningen inte kan allokera den begärda mängden minne från början utför skräpinsamlaren en fullständig blockerande skräpinsamling i ett försök att frigöra ytterligare minne. Skräpinsamlaren anger inget svarstidsläge för GC-regionen om den kan allokera den mängd minne som krävs, vilket i det här fallet faktiskt är 2 * totalSize byte (den försöker allokera totalSize byte för den lilla objekt-heapen och totalSize byte för den stora objekt-heapen).
totalSize måste vara tillräckligt stor för att hantera alla minnesallokeringar som inträffar i den kritiska sökvägen. Detta inkluderar allokeringar av appen samt allokeringar som körningen gör för appens räkning.
Important
Du kan inte kapsla anrop till TryStartNoGCRegion metoden och du bör bara anropa EndNoGCRegion metoden om körningen för närvarande inte är i svarstidsläge för GC-regionen. Med andra ord bör du inte anropa TryStartNoGCRegion flera gånger (efter det första metodanropet kommer efterföljande anrop inte att lyckas) och du bör inte förvänta dig att EndNoGCRegion anropen ska lyckas bara för att TryStartNoGCRegion det första anropet lyckades.
Du avslutar svarstidsläget för ingen GC-region genom att anropa EndNoGCRegion metoden.