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 не будет обрабатывать их.