GC.AddMemoryPressure(Int64) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
가비지 수집을 예약할 때 고려해야 할 많은 양의 관리되지 않는 메모리 할당을 런타임에 알립니다.
public:
static void AddMemoryPressure(long bytesAllocated);
[System.Security.SecurityCritical]
public static void AddMemoryPressure (long bytesAllocated);
public static void AddMemoryPressure (long bytesAllocated);
[<System.Security.SecurityCritical>]
static member AddMemoryPressure : int64 -> unit
static member AddMemoryPressure : int64 -> unit
Public Shared Sub AddMemoryPressure (bytesAllocated As Long)
매개 변수
- bytesAllocated
- Int64
할당된 관리되지 않는 메모리의 증가량입니다.
- 특성
예외
설명
가비지 수집을 예약할 시기를 결정할 때 런타임은 관리되는 메모리가 할당되는 양을 고려합니다. 작은 관리형 개체가 대량의 관리되지 않는 메모리를 할당하는 경우 런타임은 관리되는 메모리만 고려하므로 가비지 수집 예약의 긴급성을 과소 평가합니다. 메서드는 AddMemoryPressure 시스템 메모리에 대한 이러한 추가 압력을 런타임에 알릴 수 있습니다.
및 RemoveMemoryPressure 메서드는 AddMemoryPressure 비관리형 리소스를 해제하기 위해 종료자에만 의존하는 형식에 대해서만 성능을 향상시킵니다. 삭제 패턴을 따르는 형식에서는 이러한 메서드를 사용할 필요가 없습니다. 여기서 종료자는 형식의 소비자가 를 호출Dispose
하는 것을 잊어버린 경우에만 관리되지 않는 리소스를 클린 데 사용됩니다. 개체 종료 및 삭제 패턴에 대한 자세한 내용은 관리되지 않는 리소스 정리를 참조하세요.
가장 간단한 사용 패턴에서 관리되는 개체는 생성자에서 관리되지 않는 메모리를 할당하고 메서드에서 Finalize
해제합니다.
AddMemoryPressure 관리되지 않는 메모리를 할당한 후 메서드를 호출하고 해제한 RemoveMemoryPressure 후 메서드를 호출합니다.
관리되는 개체의 수명 동안 관리되지 않는 메모리 할당이 크게 변경되는 더 복잡한 시나리오에서는 및 RemoveMemoryPressure 메서드를 호출 AddMemoryPressure 하여 이러한 증분 변경 내용을 런타임에 전달할 수 있습니다.
주의
추가하는 압력의 양을 정확히 제거해야 합니다. 그렇게 하지 않으면 오랜 시간 동안 실행 되는 애플리케이션에서 시스템의 성능이 저하 될 수 있습니다.
적용 대상
.NET