GC.TryStartNoGCRegion 메서드

정의

중요한 경로를 실행하는 동안 가비지 수집을 허용하지 않습니다.

오버로드

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 않습니다.

추가 정보

적용 대상