Поделиться через


GC.RefreshMemoryLimit Метод

Определение

Указывает сборщику мусора перенастроить себя путем обнаружения различных ограничений памяти в системе.

public:
 static void RefreshMemoryLimit();
public static void RefreshMemoryLimit ();
static member RefreshMemoryLimit : unit -> unit
Public Shared Sub RefreshMemoryLimit ()

Исключения

Жесткое ограничение слишком низкое. Это может произойти, если жесткое ограничение кучи, установленное обновлением из-за новых параметров AppData или подразумеваемых изменениями ограничения памяти контейнера, меньше, чем то, что уже зафиксировано.

-или-

Недопустимое жесткое ограничение. Это может произойти, например, при отрицательном проценте жесткого ограничения кучи.

Комментарии

Помимо фактического ограничения физической памяти и ограничения контейнера, эти параметры конфигурации могут быть перезаписаны:

     - GCHeapHardLimit
     - GCHeapHardLimitPercent
     - GCHeapHardLimitSOH
     - GCHeapHardLimitLOH
     - GCHeapHardLimitPOH
     - GCHeapHardLimitSOHPercent
     - GCHeapHardLimitLOHPercent
     - GCHeapHardLimitPOHPercent

Вместо обновления переменной среды (которая не будет считываться), эти параметры переопределяются с помощью значения ulong в AppContext.

Например, можно использовать для AppContext.SetData("GCHeapHardLimit", (ulong) 100 * 1024 * 1024) переопределения GCHeapHardLimit на 100M.

Этот API обрабатывает только конфигурации, которые могут быть обработаны при загрузке среды выполнения. Для конфигураций, которые не влияют на 32-разрядные системы (например, GCHeapHardLimit*), этот API не будет обрабатывать их.

Применяется к