GC.TryStartNoGCRegion Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Pogingen om garbagecollection niet toe te laten tijdens de uitvoering van een kritiek pad.
Overloads
| Name | Description |
|---|---|
| TryStartNoGCRegion(Int64) |
Pogingen om garbagecollection niet toe te laten tijdens de uitvoering van een kritiek pad als er een opgegeven hoeveelheid geheugen beschikbaar is. |
| TryStartNoGCRegion(Int64, Boolean) |
Pogingen om garbagecollection niet toe te laten tijdens de uitvoering van een kritiek pad als er een opgegeven hoeveelheid geheugen beschikbaar is en bepaalt of de garbagecollector een volledige blokkerende garbagecollection uitvoert als er in eerste instantie onvoldoende geheugen beschikbaar is. |
| TryStartNoGCRegion(Int64, Int64) |
Pogingen om garbagecollection tijdens de uitvoering van een kritiek pad te weigeren als er een opgegeven hoeveelheid geheugen beschikbaar is voor de grote object-heap en de kleine object heap. |
| TryStartNoGCRegion(Int64, Int64, Boolean) |
Pogingen om garbagecollection tijdens de uitvoering van een kritiek pad te weigeren als er een opgegeven hoeveelheid geheugen beschikbaar is voor de grote object-heap en de kleine object-heap, en bepaalt of de garbagecollector een volledige blokkerende garbagecollection uitvoert als er in eerste instantie onvoldoende geheugen beschikbaar is. |
Opmerkingen
Important
U kunt geen aanroepen naar de TryStartNoGCRegion methode nesten en u mag de EndNoGCRegion methode alleen aanroepen als de runtime zich momenteel in de modus met geen GC-regio latentie bevindt. Met andere woorden, u moet niet meerdere keren aanroepen TryStartNoGCRegion (na de eerste methodeaanroep, volgende aanroepen zullen niet slagen) en u mag niet verwachten dat aanroepen EndNoGCRegion slagen, alleen omdat de eerste aanroep is TryStartNoGCRegion geslaagd.
TryStartNoGCRegion(Int64)
Pogingen om garbagecollection niet toe te laten tijdens de uitvoering van een kritiek pad als er een opgegeven hoeveelheid geheugen beschikbaar is.
public:
static bool TryStartNoGCRegion(long totalSize);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize);
public static bool TryStartNoGCRegion(long totalSize);
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 -> bool
static member TryStartNoGCRegion : int64 -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long) As Boolean
Parameters
- totalSize
- Int64
De hoeveelheid geheugen in bytes die moet worden toegewezen zonder een garbagecollection te activeren. Het moet kleiner dan of gelijk zijn aan de grootte van een kortstondig segment. Zie de sectie Kortstondige generaties en segmenten in het artikel Fundamentals of GarbageCollection voor informatie over de grootte van een kortstondig segment.
Retouren
true als de runtime de vereiste hoeveelheid geheugen kon doorvoeren en de garbagecollector geen GC-regiolatentiemodus kan invoeren; anders, false.
- Kenmerken
Uitzonderingen
totalSize overschrijdt de tijdelijke segmentgrootte.
Het proces bevindt zich al in de modus GC-regiolatentie.
Opmerkingen
De TryStartNoGCRegion(Int64) methode probeert de garbagecollector in geen GC-regiolatentiemodus te plaatsen, waardoor garbagecollection niet mogelijk is terwijl een app een kritieke coderegio uitvoert. Als de runtime de aangevraagde hoeveelheid geheugen niet kan toewijzen, voert de garbagecollector een volledige blokkerende garbagecollection uit in een poging om extra geheugen vrij te maken. De garbagecollector voert geen GC-regiolatentiemodus in als deze de vereiste hoeveelheid geheugen kan toewijzen, wat in dit geval eigenlijk 2 * totalSize bytes is (het probeert bytes toe te wijzen totalSize voor de kleine object heap en totalSize bytes voor de grote object heap).
totalSize moet groot genoeg zijn om alle geheugentoewijzingen te verwerken die zich in het kritieke pad voordoen. Dit omvat toewijzingen door de app, evenals toewijzingen die de runtime namens de app doet.
Important
U kunt geen aanroepen naar de TryStartNoGCRegion methode nesten en u mag de EndNoGCRegion methode alleen aanroepen als de runtime zich momenteel in de modus met geen GC-regio latentie bevindt. Met andere woorden, u moet niet meerdere keren aanroepen TryStartNoGCRegion (na de eerste methodeaanroep, volgende aanroepen zullen niet slagen) en u mag niet verwachten dat aanroepen EndNoGCRegion slagen, alleen omdat de eerste aanroep is TryStartNoGCRegion geslaagd.
U sluit de modus geen GC-regiolatentie door de methode aan te EndNoGCRegion roepen.
Zie ook
Van toepassing op
TryStartNoGCRegion(Int64, Boolean)
Pogingen om garbagecollection niet toe te laten tijdens de uitvoering van een kritiek pad als er een opgegeven hoeveelheid geheugen beschikbaar is en bepaalt of de garbagecollector een volledige blokkerende garbagecollection uitvoert als er in eerste instantie onvoldoende geheugen beschikbaar is.
public:
static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
public static bool TryStartNoGCRegion(long totalSize, bool disallowFullBlockingGC);
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * bool -> bool
static member TryStartNoGCRegion : int64 * bool -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, disallowFullBlockingGC As Boolean) As Boolean
Parameters
- totalSize
- Int64
De hoeveelheid geheugen in bytes die moet worden toegewezen zonder een garbagecollection te activeren. Het moet kleiner dan of gelijk zijn aan de grootte van een kortstondig segment. Zie de sectie Kortstondige generaties en segmenten in het artikel Fundamentals of GarbageCollection voor informatie over de grootte van een kortstondig segment.
- disallowFullBlockingGC
- Boolean
trueom een volledige blokkerende garbagecollection weg te laten als de garbagecollector in eerste instantie geen bytes kan toewijzentotalSize; anders. false
Retouren
true als de runtime de vereiste hoeveelheid geheugen kon doorvoeren en de garbagecollector geen GC-regiolatentiemodus kan invoeren; anders, false.
- Kenmerken
Uitzonderingen
totalSize overschrijdt de tijdelijke segmentgrootte.
Het proces bevindt zich al in de modus GC-regiolatentie.
Opmerkingen
De TryStartNoGCRegion(Int64, Boolean) methode probeert de garbagecollector in geen GC-regiolatentiemodus te plaatsen, waardoor garbagecollection niet mogelijk is terwijl een app een kritieke coderegio uitvoert. Als de runtime de aangevraagde hoeveelheid geheugen niet kan toewijzen en het disallowFullBlockingGC argument is false, voert de garbagecollector een volledige blokkerende garbagecollection uit in een poging om extra geheugen vrij te maken. Anders mislukt de toewijzing en retourneert falsede methode. De garbagecollector voert geen GC-regiolatentiemodus in als deze de vereiste hoeveelheid geheugen kan toewijzen, die in dit geval eigenlijk 2 * totalSize is (het probeert toe te wijzen totalSize voor de kleine object heap en totalSize voor de grote object heap).
totalSize moet groot genoeg zijn om alle geheugentoewijzingen te verwerken die zich in het kritieke pad voordoen. Dit omvat toewijzingen door de app, evenals toewijzingen die de runtime namens de app doet.
Instelling disallowFullBlockingGC om een volledige blokkerende garbagecollection te true voorkomen als er in eerste instantie onvoldoende geheugen beschikbaar is, is het handigst in scenario's voor taakverdeling: het ene systeem kan deze methode aanroepen en zichzelf rapporteren als deze gereed is voor het accepteren van aanvragen als deze retourneert trueen dat de load balancer aanvragen omleidt naar andere systemen als deze retourneert false. Vervolgens kan er een volledige blokkerende garbagecollection worden uitgevoerd wanneer aanvragen niet worden verwerkt door de methode aan te Collect(Int32, GCCollectionMode, Boolean, Boolean) roepen.
Important
U kunt geen aanroepen naar de TryStartNoGCRegion methode nesten en u mag de EndNoGCRegion methode alleen aanroepen als de runtime zich momenteel in de modus met geen GC-regio latentie bevindt. Met andere woorden, u moet niet meerdere keren aanroepen TryStartNoGCRegion (na de eerste methodeaanroep, volgende aanroepen zullen niet slagen) en u mag niet verwachten dat aanroepen EndNoGCRegion slagen, alleen omdat de eerste aanroep is TryStartNoGCRegion geslaagd.
U sluit de modus geen GC-regiolatentie door de methode aan te EndNoGCRegion roepen.
Zie ook
Van toepassing op
TryStartNoGCRegion(Int64, Int64)
Pogingen om garbagecollection tijdens de uitvoering van een kritiek pad te weigeren als er een opgegeven hoeveelheid geheugen beschikbaar is voor de grote object-heap en de kleine object heap.
public:
static bool TryStartNoGCRegion(long totalSize, long lohSize);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, long lohSize);
public static bool TryStartNoGCRegion(long totalSize, long lohSize);
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * int64 -> bool
static member TryStartNoGCRegion : int64 * int64 -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, lohSize As Long) As Boolean
Parameters
- totalSize
- Int64
De hoeveelheid geheugen in bytes die moet worden toegewezen zonder een garbagecollection te activeren.
totalSize
-
lohSize moet kleiner zijn dan of gelijk zijn aan de grootte van een kortstondig segment. Zie de sectie Kortstondige generaties en segmenten in het artikel Fundamentals of GarbageCollection voor informatie over de grootte van een kortstondig segment.
- lohSize
- Int64
Het aantal bytes dat totalSize moet worden gebruikt voor grote object heap-toewijzingen (LOH).
Retouren
true als de runtime de vereiste hoeveelheid geheugen kon doorvoeren en de garbagecollector geen GC-regiolatentiemodus kan invoeren; anders, false.
- Kenmerken
Uitzonderingen
totalSize
-
lohSize overschrijdt de tijdelijke segmentgrootte.
Het proces bevindt zich al in de modus GC-regiolatentie.
Opmerkingen
De TryStartNoGCRegion(Int64, Int64) methode probeert de garbagecollector in geen GC-regiolatentiemodus te plaatsen, waardoor garbagecollection niet mogelijk is terwijl een app een kritieke coderegio uitvoert. Als de runtime de aangevraagde hoeveelheid geheugen niet kan toewijzen, voert de garbagecollector een volledige blokkerende garbagecollection uit in een poging om extra geheugen vrij te maken. De garbagecollector voert geen GC-regiolatentiemodus in als deze kan worden toegewezen lohSize voor de LOH en totalSize - lohSize voor de kleine object heap (SOH).
lohSize moet groot genoeg zijn om alle geheugentoewijzingen te verwerken die plaatsvinden in het kritieke pad voor de LOH en totalSize - lohSize moeten groot genoeg zijn om alle geheugentoewijzingen te verwerken die zich in het kritieke pad voor de SOH voordoen. Dit omvat toewijzingen door de app, evenals toewijzingen die de runtime namens de app doet.
Important
U kunt geen aanroepen naar de TryStartNoGCRegion methode nesten en u mag de EndNoGCRegion methode alleen aanroepen als de runtime zich momenteel in de modus met geen GC-regio latentie bevindt. Met andere woorden, u moet niet meerdere keren aanroepen TryStartNoGCRegion (na de eerste methodeaanroep, volgende aanroepen zullen niet slagen) en u mag niet verwachten dat aanroepen EndNoGCRegion slagen, alleen omdat de eerste aanroep is TryStartNoGCRegion geslaagd.
U sluit de modus geen GC-regiolatentie door de methode aan te EndNoGCRegion roepen.
Zie ook
Van toepassing op
TryStartNoGCRegion(Int64, Int64, Boolean)
Pogingen om garbagecollection tijdens de uitvoering van een kritiek pad te weigeren als er een opgegeven hoeveelheid geheugen beschikbaar is voor de grote object-heap en de kleine object-heap, en bepaalt of de garbagecollector een volledige blokkerende garbagecollection uitvoert als er in eerste instantie onvoldoende geheugen beschikbaar is.
public:
static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
[System.Security.SecurityCritical]
public static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
public static bool TryStartNoGCRegion(long totalSize, long lohSize, bool disallowFullBlockingGC);
[<System.Security.SecurityCritical>]
static member TryStartNoGCRegion : int64 * int64 * bool -> bool
static member TryStartNoGCRegion : int64 * int64 * bool -> bool
Public Shared Function TryStartNoGCRegion (totalSize As Long, lohSize As Long, disallowFullBlockingGC As Boolean) As Boolean
Parameters
- totalSize
- Int64
De hoeveelheid geheugen in bytes die moet worden toegewezen zonder een garbagecollection te activeren.
totalSize
-
lohSize moet kleiner zijn dan of gelijk zijn aan de grootte van een kortstondig segment. Zie de sectie Kortstondige generaties en segmenten in het artikel Fundamentals of GarbageCollection voor informatie over de grootte van een kortstondig segment.
- lohSize
- Int64
Het aantal bytes dat totalSize moet worden gebruikt voor grote object heap-toewijzingen (LOH).
- disallowFullBlockingGC
- Boolean
true om een volledige blokkerende garbagecollection weg te laten als de garbagecollector in eerste instantie het opgegeven geheugen niet kan toewijzen aan de kleine object heap (SOH) en LOH; anders, false.
Retouren
true als de runtime de vereiste hoeveelheid geheugen kon doorvoeren en de garbagecollector geen GC-regiolatentiemodus kan invoeren; anders, false.
- Kenmerken
Uitzonderingen
totalSize
-
lohSize overschrijdt de tijdelijke segmentgrootte.
Het proces bevindt zich al in de modus GC-regiolatentie.
Opmerkingen
De TryStartNoGCRegion(Int64, Int64, Boolean) methode probeert de garbagecollector in geen GC-regiolatentiemodus te plaatsen, waardoor garbagecollection niet mogelijk is terwijl een app een kritieke coderegio uitvoert. Als de runtime de aangevraagde hoeveelheid geheugen niet kan toewijzen en het disallowFullBlockingGC argument is false, voert de garbagecollector een volledige blokkerende garbagecollection uit in een poging om extra geheugen vrij te maken. Anders mislukt de toewijzing en retourneert falsede methode. De garbagecollector voert geen GC-regiolatentiemodus in als deze kan worden toegewezen lohSize voor de LOH en totalSize - lohSize voor de kleine object heap (SOH).
lohSize moet groot genoeg zijn om alle geheugentoewijzingen te verwerken die plaatsvinden in het kritieke pad voor de LOH en totalSize - lohSize moeten groot genoeg zijn om alle geheugentoewijzingen te verwerken die zich in het kritieke pad voor de SOH voordoen. Dit omvat toewijzingen door de app, evenals toewijzingen die de runtime namens de app doet.
Instelling disallowFullBlockingGC om een volledige blokkerende garbagecollection te true voorkomen als er in eerste instantie onvoldoende geheugen beschikbaar is, is het handigst in scenario's voor taakverdeling: het ene systeem kan deze methode aanroepen en zichzelf rapporteren als deze gereed is voor het accepteren van aanvragen als deze retourneert trueen dat de load balancer aanvragen omleidt naar andere systemen als deze retourneert false. Vervolgens kan er een volledige blokkerende garbagecollection worden uitgevoerd wanneer aanvragen niet worden verwerkt door de methode aan te Collect(Int32, GCCollectionMode, Boolean, Boolean) roepen.
Important
U kunt geen aanroepen naar de TryStartNoGCRegion methode nesten en u mag de EndNoGCRegion methode alleen aanroepen als de runtime zich momenteel in de modus met geen GC-regio latentie bevindt. Met andere woorden, u moet niet meerdere keren aanroepen TryStartNoGCRegion (na de eerste methodeaanroep, volgende aanroepen zullen niet slagen) en u mag niet verwachten dat aanroepen EndNoGCRegion slagen, alleen omdat de eerste aanroep is TryStartNoGCRegion geslaagd.
U sluit de modus geen GC-regiolatentie door de methode aan te EndNoGCRegion roepen.