GC.TryStartNoGCRegion 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않습니다.
오버로드
| Name | Description |
|---|---|
| TryStartNoGCRegion(Int64, Int64, Boolean) |
큰 개체 힙 및 작은 개체 힙에 대해 지정된 양의 메모리를 사용할 수 있는 경우 중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않도록 시도하고, 처음에 사용 가능한 메모리가 충분하지 않은 경우 가비지 수집기가 전체 차단 가비지 수집을 수행하는지 여부를 제어합니다. |
| TryStartNoGCRegion(Int64, Int64) |
큰 개체 힙과 작은 개체 힙에 대해 지정된 양의 메모리를 사용할 수 있는 경우 중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않습니다. |
| TryStartNoGCRegion(Int64, Boolean) |
지정된 양의 메모리를 사용할 수 있는 경우 중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않으며, 가비지 수집기가 처음에 사용 가능한 메모리가 충분하지 않은 경우 가비지 수집기가 전체 차단 가비지 수집을 수행하는지 여부를 제어합니다. |
| TryStartNoGCRegion(Int64) |
지정된 양의 메모리를 사용할 수 있는 경우 중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않습니다. |
설명
Important
메서드에 대한 호출을 TryStartNoGCRegion 중첩할 수 없으며 런타임이 EndNoGCRegion 현재 GC 지역 대기 시간 모드가 없는 경우에만 메서드를 호출해야 합니다. 즉, 첫 번째 메서드 호출 후에는 후속 호출이 성공하지 못하므로 여러 번 호출 TryStartNoGCRegion 하면 안 되며 첫 번째 호출이 성공했다고 해서 호출 EndNoGCRegion 이 성공할 것으로 TryStartNoGCRegion 예상해서는 안 됩니다.
TryStartNoGCRegion(Int64, Int64, Boolean)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
큰 개체 힙 및 작은 개체 힙에 대해 지정된 양의 메모리를 사용할 수 있는 경우 중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않도록 시도하고, 처음에 사용 가능한 메모리가 충분하지 않은 경우 가비지 수집기가 전체 차단 가비지 수집을 수행하는지 여부를 제어합니다.
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
매개 변수
- totalSize
- Int64
가비지 수집을 트리거하지 않고 할당할 메모리 양(바이트)입니다.
totalSize
-
lohSize 는 임시 세그먼트의 크기보다 작거나 같아야 합니다. 임시 세그먼트의 크기에 대한 자세한 내용은 가비지 수집의 기본 사항 문서의 "임시 생성 및 세그먼트" 섹션을 참조하세요.
- lohSize
- Int64
LOH(큰 개체 힙) 할당에 사용할 바이트 totalSize 수입니다.
- disallowFullBlockingGC
- Boolean
true가비지 수집기가 처음에 SOH(작은 개체 힙) 및 LOH에 지정된 메모리를 할당할 수 없는 경우 전체 차단 가비지 수집을 생략합니다. 그렇지 않으면 . false
반품
true런타임이 필요한 양의 메모리를 커밋할 수 있고 가비지 수집기가 GC 지역 대기 시간 모드를 입력할 수 없으면 입니다. 그렇지 않으면 . false
- 특성
예외
totalSize
-
lohSize 가 임시 세그먼트 크기를 초과합니다.
프로세스는 이미 GC 지역 대기 시간 모드가 없습니다.
설명
이 메서드는 TryStartNoGCRegion(Int64, Int64, Boolean) 앱이 중요한 코드 영역을 실행하는 동안 가비지 수집을 허용하지 않는 GC 지역 대기 시간 모드에서 가비지 수집기를 배치하려고 시도합니다. 런타임이 처음에 요청된 메모리 양을 할당할 수 없고 disallowFullBlockingGC 인수가 false있으면 가비지 수집기는 추가 메모리를 해제하기 위해 전체 차단 가비지 수집을 수행합니다. 그렇지 않으면 할당이 실패하고 메서드가 반환됩니다 false. LOH 및 lohSizetotalSize - SOH(작은 개체 힙)에 할당 lohSize 할 수 있는 경우 가비지 수집기는 GC 지역 대기 시간 모드가 되지 않습니다.
lohSize 는 LOH의 중요 경로에서 발생하는 모든 메모리 할당을 처리할 수 있을 만큼 크고 SOH totalSize - lohSize 에 대한 중요 경로에서 발생하는 모든 메모리 할당을 처리할 수 있을 만큼 커야 합니다. 여기에는 앱별 할당뿐만 아니라 런타임이 앱을 대신하여 할당하는 할당도 포함됩니다.
disallowFullBlockingGC 처음에 사용 가능한 메모리가 충분하지 않은 경우 전체 차단 가비지 수집을 방지하기 위한 설정 true 은 부하 분산 시나리오에서 가장 유용합니다. 한 시스템은 이 메서드를 호출하고 반환true되는 경우 요청을 수락할 준비가 되었다고 보고하고 반환되는 경우 false부하 분산 장치가 요청을 다른 시스템으로 리디렉션하도록 할 수 있습니다. 그런 다음 메서드를 호출하여 요청을 처리하지 않을 때 전체 차단 가비지 수집을 Collect(Int32, GCCollectionMode, Boolean, Boolean) 수행할 수 있습니다.
Important
메서드에 대한 호출을 TryStartNoGCRegion 중첩할 수 없으며 런타임이 EndNoGCRegion 현재 GC 지역 대기 시간 모드가 없는 경우에만 메서드를 호출해야 합니다. 즉, 첫 번째 메서드 호출 후에는 후속 호출이 성공하지 못하므로 여러 번 호출 TryStartNoGCRegion 하면 안 되며 첫 번째 호출이 성공했다고 해서 호출 EndNoGCRegion 이 성공할 것으로 TryStartNoGCRegion 예상해서는 안 됩니다.
메서드를 호출하여 GC 지역 대기 시간 모드를 종료하지 EndNoGCRegion 않습니다.
추가 정보
적용 대상
TryStartNoGCRegion(Int64, Int64)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
큰 개체 힙과 작은 개체 힙에 대해 지정된 양의 메모리를 사용할 수 있는 경우 중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않습니다.
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
매개 변수
- totalSize
- Int64
가비지 수집을 트리거하지 않고 할당할 메모리 양(바이트)입니다.
totalSize
-
lohSize 는 임시 세그먼트의 크기보다 작거나 같아야 합니다. 임시 세그먼트의 크기에 대한 자세한 내용은 가비지 수집의 기본 사항 문서의 "임시 생성 및 세그먼트" 섹션을 참조하세요.
- lohSize
- Int64
LOH(큰 개체 힙) 할당에 사용할 바이트 totalSize 수입니다.
반품
true런타임이 필요한 양의 메모리를 커밋할 수 있고 가비지 수집기가 GC 지역 대기 시간 모드를 입력할 수 없으면 입니다. 그렇지 않으면 . false
- 특성
예외
totalSize
-
lohSize 가 임시 세그먼트 크기를 초과합니다.
프로세스는 이미 GC 지역 대기 시간 모드가 없습니다.
설명
이 메서드는 TryStartNoGCRegion(Int64, Int64) 앱이 중요한 코드 영역을 실행하는 동안 가비지 수집을 허용하지 않는 GC 지역 대기 시간 모드에서 가비지 수집기를 배치하려고 시도합니다. 런타임이 처음에 요청된 메모리 양을 할당할 수 없는 경우 가비지 수집기는 추가 메모리를 해제하기 위해 전체 차단 가비지 수집을 수행합니다. LOH 및 lohSizetotalSize - SOH(작은 개체 힙)에 할당 lohSize 할 수 있는 경우 가비지 수집기는 GC 지역 대기 시간 모드가 되지 않습니다.
lohSize 는 LOH의 중요 경로에서 발생하는 모든 메모리 할당을 처리할 수 있을 만큼 크고 SOH totalSize - lohSize 에 대한 중요 경로에서 발생하는 모든 메모리 할당을 처리할 수 있을 만큼 커야 합니다. 여기에는 앱별 할당뿐만 아니라 런타임이 앱을 대신하여 할당하는 할당도 포함됩니다.
Important
메서드에 대한 호출을 TryStartNoGCRegion 중첩할 수 없으며 런타임이 EndNoGCRegion 현재 GC 지역 대기 시간 모드가 없는 경우에만 메서드를 호출해야 합니다. 즉, 첫 번째 메서드 호출 후에는 후속 호출이 성공하지 못하므로 여러 번 호출 TryStartNoGCRegion 하면 안 되며 첫 번째 호출이 성공했다고 해서 호출 EndNoGCRegion 이 성공할 것으로 TryStartNoGCRegion 예상해서는 안 됩니다.
메서드를 호출하여 GC 지역 대기 시간 모드를 종료하지 EndNoGCRegion 않습니다.
추가 정보
적용 대상
TryStartNoGCRegion(Int64, Boolean)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
지정된 양의 메모리를 사용할 수 있는 경우 중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않으며, 가비지 수집기가 처음에 사용 가능한 메모리가 충분하지 않은 경우 가비지 수집기가 전체 차단 가비지 수집을 수행하는지 여부를 제어합니다.
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
매개 변수
- totalSize
- Int64
가비지 수집을 트리거하지 않고 할당할 메모리 양(바이트)입니다. 임시 세그먼트의 크기보다 작거나 같아야 합니다. 임시 세그먼트의 크기에 대한 자세한 내용은 가비지 수집의 기본 사항 문서의 "임시 생성 및 세그먼트" 섹션을 참조하세요.
- disallowFullBlockingGC
- Boolean
true 가비지 수집기가 처음에 바이트를 할당 totalSize 할 수 없는 경우 전체 차단 가비지 수집을 생략하려면 이고, false그렇지 않으면 .
반품
true런타임이 필요한 양의 메모리를 커밋할 수 있고 가비지 수집기가 GC 지역 대기 시간 모드를 입력할 수 없으면 입니다. 그렇지 않으면 . false
- 특성
예외
totalSize 가 임시 세그먼트 크기를 초과합니다.
프로세스는 이미 GC 지역 대기 시간 모드가 없습니다.
설명
이 메서드는 TryStartNoGCRegion(Int64, Boolean) 앱이 중요한 코드 영역을 실행하는 동안 가비지 수집을 허용하지 않는 GC 지역 대기 시간 모드에서 가비지 수집기를 배치하려고 시도합니다. 런타임이 처음에 요청된 메모리 양을 할당할 수 없고 disallowFullBlockingGC 인수가 false있으면 가비지 수집기는 추가 메모리를 해제하기 위해 전체 차단 가비지 수집을 수행합니다. 그렇지 않으면 할당이 실패하고 메서드가 반환됩니다 false. 가비지 수집기는 필요한 양의 메모리를 할당할 수 있는 경우 GC 지역 대기 시간 모드가 되지 않습니다. 이 경우 실제로는 2 * totalSize 입니다(작은 개체 힙 및 totalSize 큰 개체 힙에 할당하려고 totalSize 시도함).
totalSize 는 중요한 경로에서 발생하는 모든 메모리 할당을 처리할 수 있을 만큼 커야 합니다. 여기에는 앱별 할당뿐만 아니라 런타임이 앱을 대신하여 할당하는 할당도 포함됩니다.
disallowFullBlockingGC 처음에 사용 가능한 메모리가 충분하지 않은 경우 전체 차단 가비지 수집을 방지하기 위한 설정 true 은 부하 분산 시나리오에서 가장 유용합니다. 한 시스템은 이 메서드를 호출하고 반환true되는 경우 요청을 수락할 준비가 되었다고 보고하고 반환되는 경우 false부하 분산 장치가 요청을 다른 시스템으로 리디렉션하도록 할 수 있습니다. 그런 다음 메서드를 호출하여 요청을 처리하지 않을 때 전체 차단 가비지 수집을 Collect(Int32, GCCollectionMode, Boolean, Boolean) 수행할 수 있습니다.
Important
메서드에 대한 호출을 TryStartNoGCRegion 중첩할 수 없으며 런타임이 EndNoGCRegion 현재 GC 지역 대기 시간 모드가 없는 경우에만 메서드를 호출해야 합니다. 즉, 첫 번째 메서드 호출 후에는 후속 호출이 성공하지 못하므로 여러 번 호출 TryStartNoGCRegion 하면 안 되며 첫 번째 호출이 성공했다고 해서 호출 EndNoGCRegion 이 성공할 것으로 TryStartNoGCRegion 예상해서는 안 됩니다.
메서드를 호출하여 GC 지역 대기 시간 모드를 종료하지 EndNoGCRegion 않습니다.
추가 정보
적용 대상
TryStartNoGCRegion(Int64)
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
- Source:
- GC.CoreCLR.cs
지정된 양의 메모리를 사용할 수 있는 경우 중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않습니다.
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
매개 변수
- totalSize
- Int64
가비지 수집을 트리거하지 않고 할당할 메모리 양(바이트)입니다. 임시 세그먼트의 크기보다 작거나 같아야 합니다. 임시 세그먼트의 크기에 대한 자세한 내용은 가비지 수집의 기본 사항 문서의 "임시 생성 및 세그먼트" 섹션을 참조하세요.
반품
true런타임이 필요한 양의 메모리를 커밋할 수 있고 가비지 수집기가 GC 지역 대기 시간 모드를 입력할 수 없으면 입니다. 그렇지 않으면 . false
- 특성
예외
totalSize 가 임시 세그먼트 크기를 초과합니다.
프로세스는 이미 GC 지역 대기 시간 모드가 없습니다.
설명
이 메서드는 TryStartNoGCRegion(Int64) 앱이 중요한 코드 영역을 실행하는 동안 가비지 수집을 허용하지 않는 GC 지역 대기 시간 모드에서 가비지 수집기를 배치하려고 시도합니다. 런타임이 처음에 요청된 메모리 양을 할당할 수 없는 경우 가비지 수집기는 추가 메모리를 해제하기 위해 전체 차단 가비지 수집을 수행합니다. 가비지 수집기는 필요한 양의 메모리를 할당할 수 있는 경우 GC 지역 대기 시간 모드로 전환되지 않습니다. 이 경우 실제로는 2* totalSize 바이트입니다(작은 개체 힙에 대한 바이트 및 totalSize 큰 개체 힙에 대한 바이트 할당 totalSize 시도).
totalSize 는 중요한 경로에서 발생하는 모든 메모리 할당을 처리할 수 있을 만큼 커야 합니다. 여기에는 앱별 할당뿐만 아니라 런타임이 앱을 대신하여 할당하는 할당도 포함됩니다.
Important
메서드에 대한 호출을 TryStartNoGCRegion 중첩할 수 없으며 런타임이 EndNoGCRegion 현재 GC 지역 대기 시간 모드가 없는 경우에만 메서드를 호출해야 합니다. 즉, 첫 번째 메서드 호출 후에는 후속 호출이 성공하지 못하므로 여러 번 호출 TryStartNoGCRegion 하면 안 되며 첫 번째 호출이 성공했다고 해서 호출 EndNoGCRegion 이 성공할 것으로 TryStartNoGCRegion 예상해서는 안 됩니다.
메서드를 호출하여 GC 지역 대기 시간 모드를 종료하지 EndNoGCRegion 않습니다.