Не удается выделить память из системного выстраивного пула
В этой статье описывается решение проблемы, из-за чего не удается выделить память из системного выстраивного пула.
Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 312362
Симптомы
Если сервер находится под большой нагрузкой, служба сервера может неоднократно регистрируют следующую ошибку в журнале системных событий. Он указывает, что на сервере отсутствует память выстраиваемого пула:
Источник — SRV
Тип — ошибка
Идентификатор события — 2020
Описание-Серверу не удалось выделить из системного выстраивного пула, так как пул был пустым.
Данных-
0000: 00040000 00540001 00000000 c00007e4
0010: 00000000 c000009a 00000000 0000000000
0020: 00000000 00000000 000000b
Причина
Несколько факторов могут привести к истощению объема памяти для страничного пула. Включение тегов пула и их использование poolsnaps
с различными интервалами времени может помочь вам понять, какой драйвер потребляет память на странице пула. poolsnaps
Если указывает, что тег MmSt (прототип объектов mm section objectptEs) является крупнейшим потребителем и память выгружаемого пула исчерпана или система регистрирует событие ошибки 2020-х, существует большая вероятность того, что на сервере открыто большое количество файлов. По умолчанию диспетчер памяти пытается обрезать выделенную память страничного пула, когда система достигает 80 процентов общего выстраивного пула. В зависимости от конфигурации системы возможный максимальный объем памяти пула на странице на компьютере может составлять 343 МБ, а 80 процентов от этого числа — 274 МБ. Если диспетчеру памяти не удается выполнить обрезку достаточно быстро, чтобы не отставать от спроса, может возникнуть событие, указанное в разделе "Симптомы" этой статьи. Настроив диспетчер памяти для запуска процесса обрезки раньше (например, когда он достигает 60 процентов), можно будет избежать нехватки памяти в погаженном пуле во время внезапного пикового использования и избежать нехватки памяти для страничного пула.
Разрешение
Важно!
В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в соответствующей статье базы знаний Майкрософт:
322756 Создание резервной копии и восстановление реестра Windows
Следующая рекомендация по настройке была полезна для устранения проблемы:
Запустите редактор реестра (Regedt32.exe).
Найдите и щелкните следующий раздел в реестре:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management
В меню Правка щелкните пункт Добавить значение, а затем добавьте следующее значение реестра:
Имя значения: PoolUsageMaximum
Тип данных: REG_DWORD
Radix: Decimal
Значение: 60Если установить значение 60, диспетчер памяти начинает процесс обрезки на уровне 60 процентов PagedPoolMax, а не значение по умолчанию 80 процентов. Если порогового значения в 60 процентов недостаточно для обработки пиков активности, уменьшите этот параметр до 50 или 40 процентов.
Имя значения: PagedPoolSize
Тип данных: REG_DWORD
Радикс: Шестнадцатеричный
Данные о значении: 0xFFFFFFFFПараметр PagedPoolSize 0xFFFFFFFF выделяет максимальное количество страничных пулов вместо других ресурсов для компьютера.
Предостережение
Параметр 0xFFFFFFFF PagedPoolSize не рекомендуется использовать на 32-разрядных компьютерах под управлением Windows Server 2003 с 64 ГБ ОЗУ. Это потенциально приведет к отключению записи Free System PTE и может привести к непрерывной перезагрузке компьютера. Для этой конфигурации тщательно выберите значение на основе требований и доступных ресурсов.
Закройте редактор реестра.
Перезапустите сервер, чтобы изменения вступили в силу.
Состояние
Корпорация Майкрософт подтвердила, что это проблема в продуктах Майкрософт, перечисленных в разделе "Применимо к".
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по