Как исправить невыгружаемый пул Windows 10

Вот спустя время решил себе обновить компьютер, собрал, установил новую Windows 10. И горя не знал. Но заметил что он очень тормозит, после того как открыл диспетчер задач, увидел что невыгружаемый пул памяти постоянно увеличивается, и оперативная память не освобождается. Каждый раз чтобы выгрузить память с невыгружаемого пула приходилось выполнять перезагрузку компьютера.

В этой статье я Вам покажу несколько способов как избавится от проблемы с невыгружаемым пулом памяти. Разберемся что такое невыгружаемый пул и по каким причинам пользователи с ней встречаются. Решил написать статью так как сам часто встречаюсь после каждой чистой установки операционной системы Windows 10.

Что такое невыгружаемый пул памяти

На скриншоте видно где можно посмотреть на невыгружаемый пул, и увидеть явную утечку памяти. Не важно сколько в Вас памяти, все с временем уходит в невыгружаемый пул. При этом нормальные значения невыгружаемого пула располагается в районе до двухсот мегабайт. Именно поэтому после обнаружения утечки памяти рекомендуем воспользоваться нашими способами. Обычное добавление планок оперативной памяти немного отдаляет, но все же не решает проблему.

Невыгружаемый пул памяти windows 10

Эта проблема появляется при активном использовании Интернета с включенным управлением полосой пропускания, происходит утечка памяти на материнских платах с сетевой картой от Killer. Не важно интегрированная это или дискретная сетевая карта. Драйвер netio.sys может забрать хоть всю оперативную память в системе. После перезагрузки компьютера по новой все происходило.

Возможно несколько вариантов устранения проблемы. Я же использовал первый или второй способ для отключения утечки памяти. Но не стоит исключать вариант обновления драйверов сетевой карты. Так как сейчас производители уже выпустили обновленные версии драйверов, автоматически исправляющие ошибки с невыгружаемым пулом памяти Windows 10.

Как исправить невыгружаемый пул оперативной памяти

Службы

Первый способ заключается в отключении службы мониторинга сетевой активности (Windows Network Data Usage Monitoring Driver) в Windows 10. Выполнением буквально одной команды проблема с невыгружаемым пулом памяти будет полностью решена.

  1. Откроем окно Выполнить нажатием на клавиши Win+R.
  2. Вводим команду: sc config NDU start= disabled и нажимаем кнопку ОК.

Невыгружаемый пул памяти

Реестр

Перед внесением изменений в реестр рекомендуется создать резервную копию реестра Windows 10. Это предоставит возможность в любой момент при необходимости восстановить любые изменения в реестре.

  • Нажимаем Win+R и выполняем команду regedit, чтобы открыть редактор реестра.
  • Перейдем по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndu.
  • Значение параметра Start изменяем на 4.
  • невыгружаемый пул windows 10

    Для применения изменений выполните перезагрузку компьютера. После включения компьютера память будет освобождаться в автоматическом режиме. Больше утечек оперативной памяти из-за не будет. Смотрите также инструкцию: Как очистить оперативную память на Windows 10.

    Драйвера

    В некоторых случаях исправить утечки оперативной памяти помогает настройка программного обеспечения к сетевой карте. При этом пользователь теряет весь функционал программы Killer Network Manager.

    • Установите Killer Network Manager и отключить Управление пропускной способностью в настройках менеджера.
    • Установить драйвера без программы управления возможностями сетевой карты Killer Network Manager.

    Сейчас уже с уверенностью можно сказать, что достаточно будет просто обновить драйвера производителя. Сегодня вместо программы Killer Network Manager пользователи получают обновленное средство управления Killer Control Center. В котором разработчики уже решили предыдущие ошибки и проблемы пользователей.

    Как на меня самый удобный это первый способ, так как невыгружаемый пул памяти исчезает после отключения всего одной службы. Эта проблема актуальна и для пользователей предыдущих операционных систем.

    В этой статье мы рассмотрели как исправить невыгружаемый пул Windows 10 и собственно разобрались что такое невыгружаемый пул памяти. Пишите в комментарии встречались ли Вы с этой проблемой, и как с ней боролись. Надеюсь эта статья была для Вас полезной.

    Одна из распространенных проблем пользователей Windows 10, особенно с сетевыми картами Killer Network (Ethernet и Wireless)— заполняющаяся оперативная память при работе в сети. Обратить на это внимание можно в диспетчере задач на вкладке «Производительность», выбрав RAM. При этом, заполняется невыгружаемый пул памяти.

    Проблема в большинстве случаев вызвана неправильной работой сетевых драйверов в сочетании с драйверами монитора использования сети Windows 10 (Network Data Usage, NDU) и достаточно просто решается, о чем и пойдет речь в этой инструкции. В некоторых случаях, причиной утечек памяти могут быть и другие драйверы оборудования. Близкий по теме материал: Что такое память Кэшировано в Windows 10 и как очистить кэшированную память.

    Исправление утечки памяти и заполнения невыгружаемого пула при работе в сети

    Наиболее распространенной ситуацией является, когда невыгружаемый пул RAM Windows 10 заполняется при работе в Интернете. Например, легко заметить, как он растет при скачивании большого файла и после этого не очищается.

    Если описанное — ваш случай, то исправить ситуацию и очистить невыгружаемый пул памяти можно следующим образом.

    Исправление проблемы с невыгружаемым пулом в реестре Windows 10

    1. Зайдите в редактор реестра (нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter).
    2. Перейдите к разделу
    3. Дважды нажмите по параметру с именем «Start» в правой части редактора реестра и задайте значение 4 для него, для отключения монитора использования сети.
    4. Закройте редактор реестра.

    По завершении, перезагрузите компьютер и проверьте, была ли исправлена проблема. Как правило, если дело действительно в драйверах сетевой карты, невыгружаемый пул больше не растет больше своих обычных значений.

    Если шаги, описанные выше, не помогли, попробуйте следующее:

  • Если драйвер сетевой карты и (или) беспроводного адаптера был установлен с официального сайта производителя, попробуйте удалить его и дать Windows 10 установить стандартные драйверы.
  • Если драйвер был автоматически установлен Windows или был предустановлен производителем (и система после этого не менялась), попробуйте скачать и установить последнюю версию драйвера с официального сайта производителя ноутбука или материнской платы (если это ПК).
  • Заполняемый невыгружаемый пул оперативной памяти в Windows 10 не всегда бывает вызван драйверами именно сетевой карты (хотя чаще всего) и если действия с драйверами сетевых адаптеров и NDU не приносят результата, можно прибегнуть к следующим шагам:

  • Установка всех оригинальных драйверов от производителя на ваше оборудование (особенно если на данный момент времени у вас установлены драйверы, автоматически установленные Windows 10).
  • Использование утилиты Poolmon из состава Microsoft WDK для определения драйвера, вызывающего утечку памяти.
  • Как узнать, какой драйвер вызывает утечку памяти в Windows 10 с помощью Poolmon

    Невыгружаемый пул в диспетчере задач Windows 10

    Выяснить конкретные драйверы, приводящие к тому, что невыгружаемый пул памяти растет можно с помощью инструмента Poolmoon, входящим в состав Windows Driver Kit (WDK), скачать который можно с официального сайта Майкрософт.

  • Загрузите WDK для вашей версии Windows 10 (не используйте шаги на предлагаемой странице, относящиеся к установке Windows SDK или Visual Studio, просто найдите пункт «Установите WDK для Windows 10» на странице и запустите установку) с сайта https://developer.microsoft.com/ru-ru/windows/hardware/windows-driver-kit.
  • После установки, зайдите в папку с WDK и запустите утилиту Poolmon.exe (по умолчанию утилиты находятся в C:\ Program Files (x86)\Windows Kits\ 10\ Tools\ ).
  • Нажмите латинскую клавишу P (так, чтобы второй столбец содержал только значения Nonp), затем — B (это оставит в списке только записи, использующие невыгружаемый пул и отсортирует их по количеству занимаемого пространства в памяти, т.е. по столбцу Bytes).
  • Обратите внимание на значение столбца Tag для занимающей наибольшее количество байт записи.
  • Откройте командную строку и введите команду findstr /m /l /s значение_столбца_tag C:\Windows\System32\drivers\*.sys
  • Вы получите список файлов драйверов, которые могут оказаться причиной проблемы.
  • Дальнейший путь — выяснить по именам файлов драйверов (с помощью Google, например), к какому оборудованию они относятся и пробовать установить, удалить или откатить в зависимости от ситуации.

    Пользователи периодически жалуются на то, что невыгружаемый пул занимает всю память в Windows 10. Чаще всего это вызвано некорректной работой сетевых драйверов, в том числе их конфликтом с другим ПО.В более редких случаях «виновником» могут оказываться и другие драйвера. В норме пул не должен занимать много места, как это показано на изображении ниже.

    Самый эффективный метод

    Способ, о котором пойдет речь, связан с сетевой картой. Он особенно действенен в тех случаях, когда неконтролируемое увеличение пула связан с использованием интернета.

    Важно учитывать, что вся процедура будет проводиться в реестре. Категорически не рекомендуется изменять параметры или разделы, которые не указаны в инструкции. В противном случае ваши действия могут легко навредить системе, приведя к ее нестабильной работе. Заключается процедура в следующем:

  • Открыть редактор. Быстрее всего будет ввести название в поиске на панели задач. Также можно найти ярлык в меню «Пуск» (находится в папке «Средства администрирования»).
  • Перейти по пути, обведенному на картинке ниже.
  • Найти параметр «Start» (подчеркнут на скриншоте). Нужно дважды нажать по нему ЛКМ, чтобы открыть свойства.
  • В строке «Значение» поставить 4 и кликнуть по кнопке «ОК», чтобы сохранить изменения.
  • Закрыть утилиту и перезагрузить устройство.
  • Что делать, если способ не помог

    Данный вариант эффективен, если проблема в сетевом драйвере, однако он не может помочь, если «виновником» оказалось другое ПО. Установить причину может быть очень сложно. Поэтому чаще всего приходится делать все наугад, меняя один драйвер за другим.

    Суть в том, что виной всему обычно являются неправильная установка, устаревшая или некорректная версия ПО. Если установка и поиск проводились в автоматическом режиме (с помощью диспетчер устройств или сторонних утилит), рекомендуется удалить драйвера. Затем их следует скачать с официального сайта и поставить самостоятельно: часто этого достаточно для решения проблемы.

    И напротив, если ПО было поставлено вручную, можно попробовать осуществить процедуру в диспетчере (относится к числу встроенных утилит). Открыть его можно, нажав ПКМ по меню «Пуск»: в появившемся меню можно найти одноименный пункт.

    Проблемы с загруженностью памяти нередки. Слишком большое количество невыгружаемого пула всегда связано с драйверами. По этой причине следует устранить возможные конфликты, а также скачать и поставить ПО заново.

    Просмотр запущенных приложений в Диспетчере задач — это первое, с чего всякий пользователь начинает поиск причин медленной работы компьютера. И вроде бы и с процессами всё нормально, и с дисками, но на вкладке «Производительность», если выбрать «Память», можно увидеть, что она практически вся занята и уходит в невыгружаемый пул памяти. Это означает, что имеет место утечка памяти и неважно какой объем ОЗУ имеется на ПК, в невыгружаемый пул она может уйти вся без остатка.

    Диспетчере задач

    Производительность

    С этой проблемой чаще всего приходится сталкиваться пользователям Windows 10, особенно тем из них, у кого установлены сетевые карты Killer Network . Проявляется она чаще всего заполнением невыгружаемого пула во время скачивания больших файлов из интернета.

    Основной причиной утечки в таких случаях является некорректное взаимодействие сетевых драйверов с драйверами мониторинга использования сети, хотя нельзя исключать наличия проблем с другими драйверами аппаратных компонентов ПК.

    Неполадка может показаться серьёзной, на самом же деле она легко устраняется. Способов исправления существует несколько. Самый простой заключается в отключении службы мониторинга сетевой активности. Для этого откройте командой regedit редактор реестра и перейдите по следующему пути:

    Найдите в правой колонке окна редактора DWORD -параметр Start и установите в качестве его значения 4.

    Regedit

    Эту же настройку следует проверить в ключе:

    Вместо применения твика реестра можно воспользоваться командной строкой или диалоговым окошком Run . Откройте консоль от имени администратора и выполните такую команду:

    Результат будет аналогичным.

    Консоль

    В обеих случаях для вступления новых настроек в силу потребуется перезагрузка компьютера. После этого утечка в невыгружаемый пул памяти должна прекратиться. Это самый простой и эффективный способ, но есть также и другие варианты. Например, можно установить приложение Killer Network Manager, найти в его настройках опцию управления пропускной способностью и отключить её.

    Если драйвера для сетевой карты скачивались с сайта производителя, попробуйте их удалить и дать Windows 10 установить свои драйвера. Если проблема наблюдается с драйверами Microsoft, поступаем наоборот, скачиваем для карты Killer Network драйвера с официального ресурса производителя и устанавливаем их. Выше упоминалось, что утечку памяти могут вызывать не только сетевые драйвера. Определить проблемный драйвер можно с помощью утилиты Poolmon, но для этого потребуется установить набор инструментов разработки драйверов для Windows.

    Скачав WDK для вашей версии Windows 10 с официальной страницы Microsoft.

    WDK

    Перейдите в Проводнике по адресу C:\Program Files (x86)Windows Kits\10\Tools\x86 (или x64) и запустите оттуда исполняемый файл утилиты Poolmon.exe .

    Проводник

    Нажмите сначала латинскую клавишу P , а затем B .

    Poolmon

    Это действие оставит и отсортирует только те записи, которые используют невыгружаемый пул (Type Nonp) . Найдите в списке элементы, занимающие больше всего байт в памяти и запишите их имена (столбец tag) .

    Теперь откройте командную строку от имени администратора, перейдите в расположение C:\Windows\System32\drivers и выполните команду:

    findstr /m /l /s Name *.sys

    Где Name — имя, то есть тэг записи.

    Findstr

    В результате вы получите список драйверов, которые с большей или меньшей долей вероятности являются источниками проблемы. Далее уже решаем, что с ними делать: удалять, заменять или откатывать к более ранним версиям.

    31.01.2022

    itpro

    Windows 10, Windows Server 2016, Windows Server 2019

    комментариев 6

    На компьютерах и серверах Windows могут возникать проблемы с исчерпанием свободной памяти, вызванной утечкой некого системного драйвера, хранящего свои данные в невыгружаемом пуле памяти системы. Невыгружаемый пул памяти (Non-paged memory) – это данные в оперативной памяти компьютера, используемые ядром и драйверами операционной системой, которая никогда не выгружается на диск (в своп/ файл подкачки), т.е. всегда находится в физической RAM памяти.

    Текущий размер невыгружаемого пула памяти можно увидеть в диспетчере задач Windows на вкладке Perfomance (Производительность) в разделе Memory (Память). На скриншоте ниже видно, что практически вся память на сервере занята, и большая часть ее относится к невыгружаемому пулу 4,2 Гб (Non-paged pool / Невыгружаемый пул). В нормальном состоянии размер невыгружаемого пула редко превышает 200-400 Мб. Большой размер невыгружаемого пула часто указывает на наличии утечки памяти в каком-то системном компоненте или драйвере.

    Non-paged pool забил всю память компьютера

    При утечке памяти в невыгружаемом пуле на сервере, в системном журнале событий появится события:

    Event ID: 2019
    Source: Srv
    Description: The server was unable to allocate from the system nonpaged pool because the pool was empty

    В подавляющем большинстве случаев причиной такой утечки памяти является проблема со сторонними драйверами, установленными в Windows. Как правило, это сетевые драйвера. Обратите внимание, как ведет себя пул при скачивании больших файлов (скорее всего он при этом быстро растет).

    Максимальный размер невыгружаемого пула в Windows:

  • Windows x64 до 128 Гб и не более 75% физической памяти
  • Windows x86 до 2 Гб и не более 75% RAM
  • Для очистки пула помогает только перезагрузка, и, если для домашнего компьютера это еще может быть приемлемо, то на круглосуточно работающем сервере желательно найти нормальное решение.

    Установка последних версий драйверов сетевых адаптеров

    Попробуйте скачать и установить последние версии драйверов ваших сетевых адаптеров с сайта производителя.

    Если у вас в Windows включено автоматическое обновление драйверов, убедитесь не начались ли проблемы после установки новых драйверов. Попробуйте откатить версию драйвера на более старую и проверить, воспроизводится ли проблема. Если проблема решилась, отключите авто обновление драйверов.

    Отключение драйвера мониторинга сетевой активности Windows

    Достаточно часто причиной утечки памяти в невыгружаемый пул является несовместимость драйвера мониторинга сетевой активности (Network Data Usage — NDU, %WinDir%\system32\drivers\Ndu.sys) с драйверами сетевого адаптера компьютера (чаще всего конфликтуют драйвера для сетевых карт Killer Network и MSI). Данный сервис можно отключить без особых потерь функционала Windows.

    Службу можно остановить командной:

    sc config NDU start= disabled

    Либо через реестр:

  • Откройте редактор реестра regedit.exe
  • Перейдите в ветку HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Ndu\
  • Измените значения параметра Start на 4.
  • отключение NDU - HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Ndu\

    После внесения изменений нужно перезагрузить компьютер

    Отключение роли Hyper-V

    В некоторых случаях утечку памяти в невыгружаемый пул вызывает установленная роль Hyper-V. Если эта роль не нужна, рекомендуем отключить ее.

    Remove-WindowsFeature -Name Hyper-V

    Команда для Windows 10:

    Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

    Поиск драйвера, вызвавшего утечку памяти с помощью Poolmon

    Если описанные выше способы не помогли, можно попробовать определить драйвер, который вызвал утечку памяти в невыгружаемый пул.

    Для этого нам понадобится консольная утилита Poolmoon.exe, входящая в комплект разработки Windows Driver Kit (WDK). Скачайте с сайта Microsoft и установите WDK для вашей версии Windows и запустите утилиту Poolmon.exe (в WDK для Windows 10 утилита находится в каталоге C:\Program Files (x86)\Windows Kits\10\Tools\ ).

    После запуска утилиты Poolman.exe нажмите клавиши P. Во втором столбце останутся теги процессов, которые используют невыгружаемую память (атрибут Nonp) Затем нажмите клавишу B, чтобы выполнить сортировку по столбцу Bytes.

    Poolmoon - спсико тегов в невыгружаемом пуле памяти

    В левом столбце указаны теги драйверов. Ваша задача определить файл драйвера, использующего этот тег. В нашем примере видно, что больше всего RAM в невыгружаемом пуле используют драйвера с тегами Nr22, ConT и smNp.

    Вы должны проверить драйвера на наличие найденных тегов с помощью утилиты strings.exe (от Sysinternals), с помощью встроенной команды findstr или с помощью PowerShell.

    Следующие команды должны найти файлы драйверов, связанные с найденными вами тегами. данными процессами можно командами:

    findstr /m /l /s Nr22 %Systemroot%\System32\drivers\*.sys
    findstr /m /l /s ConT %Systemroot%\System32\drivers\*.sys
    findstr /m /l /s smNp %Systemroot%\System32\drivers\*.sys

    Также можно воспользоваться PowerShell:

    Set-Location «C:\Windows\System32\drivers»
    Select-String -Path *.sys -Pattern «Nr22» -CaseSensitive | Select-Object FileName -Unique
    Select-String -Path *.sys -Pattern «Py28» -CaseSensitive | Select-Object FileName -Unique
    Select-String -Path *.sys -Pattern «Ne40» -CaseSensitive | Select-Object FileName –Unique

    Вы можете отобразить файлы драйверов непосредственно в poolmon.exe. Для этого убедитесь, что в каталоге утилиты находится файл pooltag.txt. Его можно скопировать из каталога установки WDK или найти в GitHub. Запустите утилиту:

    poolmon показать имя драйвера использующего невыгружаемый пул

    Обратите внимание, что имя драйвера теперь отображается в столбце Mapped_driver.

    Если поиск не дал результатов, проверьте возможно утечка памяти вызвана не системным процессом. Запустите Task Manager, перейдите на вкладку Details, добавьте колонку NP Pool и найдите процессы с большим размером памяти в невыгружаемом пуле.

    показывать размер невыгружаемого пула процессов в taskmanager Windows 10

    Таким образом, мы получили список файлов драйверов, которые могут оказаться причиной проблемы. Теперь по именам файлов нужно определить, к каким драйверам и системным компонентам они относятся. Для этого можно воспользоваться утилитой sigcheck от Sysinternals.

    sigcheck

    Утилита возвращает имя драйвера, его свойства и информацию о версии.

    Теперь можно попытаться удалить/обновить/переустановить проблемный драйвер или службу.

    Если утечка памяти привела к BSOD, вы можете определить проблемный драйвер по файл дампа памяти.

  • Загрузите дамп памяти в отладчик Windbg;
  • Выполните команду: !vm
  • Если значение NonPagedPool Usage больше чем Max, это говорит о том, что невыгружаемый пул исчерпан;
  • Проверьте содержимое пула командой (результаты будут отсортированы по использованию невыгружаемого пула): !poolused 2
  • После получение тега драйвера найдите файл с помощью findstr или strings как описано выше.
  • Данная инструкция применима как для Windows Server 2019/2016/2012R2, так и для клиентских Windows 10, 8.1.

    Источники:

    windd.ru/kak-ispravit-nevygruzhaemyj-pul-windows-10/

    remontka.pro/non-paged-pool-windows-10/

    linchakin.com/posts/nonpaged-pool-takes-up-all-memory-in-windows-10/

    www.white-windows.ru/chto-delat-esli-nevygruzhaemyj-pul-v-windows-10-zanimaet-vsyu-pamyat/

    winitpro.ru/index.php/2017/12/06/high-non-paged-pool-windows/

    Оставить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *