Выгружаемый пул windows 10 что это

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

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

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

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

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

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

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

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

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

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

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

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

Как узнать, какой драйвер вызывает утечку памяти в Windows 10 с помощью Poolmon

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

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

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

Дальнейший путь — выяснить по именам файлов драйверов (с помощью Google, например), к какому оборудованию они относятся и пробовать установить, удалить или откатить в зависимости от ситуации.

Вот спустя время решил себе обновить компьютер, собрал, установил новую 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. Это предоставит возможность в любой момент при необходимости восстановить любые изменения в реестре.

  1. Нажимаем Win+R и выполняем команду regedit, чтобы открыть редактор реестра.
  2. Перейдем по пути HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNdu.
  3. Значение параметра Start изменяем на 4.

невыгружаемый пул windows 10

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

Драйвера

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

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

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

Выводы

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

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

Ужасно =/Так себе =(Пойдёт =|Хорошо =)Отлично =D (1 оценок, среднее: 5,00 из 5)

Photo of Дмитрий

Администратор и основатель проекта Windd.ru. Интересуюсь всеми новыми технологиями. Знаю толк в правильной сборке ПК. Участник программы предварительной оценки Windows Insider Preview. Могу с лёгкостью подобрать комплектующие с учётом соотношения цены — качества. Мой Компьютер: AMD Ryzen 5 3600 | MSI B450 Gaming Plus MAX | ASUS STRIX RX580 8GB GAMING | V-COLOR 16GB Skywalker PRISM RGB (2х8GB).

На компьютерах и серверах 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
  • Отключение роли Hyper-V
  • Поиск драйвера, вызвавшего утечку памяти с помощью Poolmon

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

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

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

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

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

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

sc config NDU start= disabled

sc config NDU start= disabled

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

  1. Откройте редактор реестра regedit.exe
  2. Перейдите в ветку HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesNdu
  3. Измените значения параметра Start на 4.

отключение NDU - HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesNdu

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

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

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

В Windows Server 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 Kits10Tools
).

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

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

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

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

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

findstr /m /l /s Nr22 %Systemroot%System32drivers*.sys
findstr /m /l /s ConT %Systemroot%System32drivers*.sys
findstr /m /l /s smNp %Systemroot%System32drivers*.sys

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

Set-Location "C:WindowsSystem32drivers"
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 /g

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

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

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

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

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

sigcheck C:WindowsSystem32driversrdyboost.sys

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

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

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

  1. Загрузите дамп памяти в отладчик Windbg;
  2. Выполните команду:
    !vm
  3. Если значение NonPagedPool Usage больше чем Max, это говорит о том, что невыгружаемый пул исчерпан;
  4. Проверьте содержимое пула командой (результаты будут отсортированы по использованию невыгружаемого пула):
    !poolused 2
  5. После получение тега драйвера найдите файл с помощью findstr или strings как описано выше.

Данная инструкция применима как для Windows Server 2019/2016/2012R2, так и для клиентских Windows 10, 8.1.

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

Пулы системной памяти

Когда система только загружается, диспетчер памяти создает два пула памяти, с динамически изменяемым размером:

  • не выгружаемый пул — постоянно находится в оперативной памяти;
  • выгружаемый пул — может выгружаться и снова подгружаться в память.

Эти пулы используются компонентами ядра.

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

Узнать лимит пулов для вашей системы можно используя “Process Explorer“, нужно открыть View / System Information и перейти на вкладку “Memory“:

Process Explorer - пулы системной памяти

  • Paged Linmit (лимит выгружаемого пула) — примерно 16 ТБ.
  • Nonpaged Limit (лимит не выгружаемого пула) — примерно 16 ГБ.

Знакомство с утилитой Poolmon

Для анализа пулов можно использовать программу Poolmon (но придется установить WDK Tools). Также доступны разные счетчики производительности.

Запустить утилиту можно так:

>"C:Program Files (x86)Windows Kits10Toolsx64poolmon.exe"

Вот так выглядит окно Poolmon:

Poolmon

Клавиша «?» во время выполнения Poolmon вызывает экран со справочной информацией:

Poolmon

Чтобы выйти из справки нажмите “Esc“.

Клавишей «p» можно переключаться на режимы отображения:

  • оба пула,
  • только выгружаемый,
  • только не выгружаемый.

Например, клавишей «p» настройте чтобы выводился только не выгружаемый пул, затем нажмете клавишу «D» для сортировки по столбцу Diff (разность), так вы узнаете, какие структуры наиболее многочисленны в не выгружаемом пуле.

Poolmon

За описаниями тегов пулов, используемых Windows, обращайтесь к файлу Pooltag.txt в подкаталоге Triage каталога, в котором размещается инструментарий отладки для Windows (C:Program Files (x86)Windows Kits10Debuggersx64triage). Также информацию по тегам можно получить утилитой string, показанной чуть ниже.

Столбцы Poolmon:

  • Tag — тег указывает на драйвер который использует пул памяти;
  • Type — тип пула (выгружаемый или не выгружаемый);
  • Allocs — количество всех операций выделения (в скобках изменение с момента последнее обновления программы);
  • Diff — разность между количеством выделений и освобождений памяти;
  • Bytes — общее количество байтов, потребляемых тегом(в скобках изменение с момента последнее обновления программы);
  • Per Alloc — размер одного экземпляра данного тега в байтах.

Просмотр системных драйверов

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

  • Откройте меню Пуск и введите в поиске Msinfo32 (найдите программу “Сведения о системе“). А затем выполните её.
  • Выберите узел Программная среда (Software Environment) / Системные драйверы (System Drivers).

Сведения о системе

Диагностика утечки памяти в пуле

Проведем диагностику утечки памяти в пулах. Утечка генерируется программой Notmyfault из пакета Sysinternals.

Выполните следующие действия:

  1. Запустите программу Notmyfault.exe для разрядности вашей ОС.
  2. Notmyfault.exe загружает драйвер устройства Myfault.sys и выводит диалоговое окно Not Му Fault с выбранной вкладкой Crash. Щелкните на вкладке Leak. Введите в поле Leak/second значение 1000 Кбайт.
  3. Щелкните на кнопке Leak Paged. Программа начинает отправлять драйверу Myfault запросы на выделение памяти из выгружаемого пула.

Notmyfault

  1. Пока в пуле существует утечка, откройте Диспетчер задач, перейдите на вкладку «Быстродействие» (Performance) и выберите категорию «Память» (Memory). Обратите внимание: значение «Выгружаемый пул» (Paged Pool) постепенно растет.
  2. Чтобы определить, с каким тегом пулов связана утечка, запустите программу Poolmon и нажмите клавишу “В“, чтобы отсортировать информацию по количеству байтов.
  3. Клавишей Р настройте, чтобы в Poolmon отображался только выгружаемый пул. Обратите внимание: тег пула Leak поднимается в начало списка. Также Poolmon помечает изменения в выделенной памяти подсветкой изменяемых строк:

Poolmon — смотрим кто занял больше всего место в выгружаемом пуле

  1. Щелкните на кнопке Stop Paged, чтобы не исчерпать выгружаемый пул в вашей системе.
  2. Запустите программу Strings (из пакета Sysinternals), чтобы найти исполняемые файлы драйверов с тегом пула Leak.
>strings64.exe %SystemRoot%system32drivers*.sys | findstr Leak

В результате поиска должен быть найден файл Myfault.sys, тем самым подтверждается что этот драйвер был виноват в утечке памяти.

Утилитой Strings определяем источника утечки в пуле

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


Вернуться к оглавлению

Сводка

Пулы системной памяти

Имя статьи

Пулы системной памяти

Описание

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

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

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

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

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

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

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNdu

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

Regedit

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

HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesNdu

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

sc config NDU start= disabled

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

Консоль

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

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

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

WDK

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

Проводник

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

Poolmon

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

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

findstr /m /l /s Name *.sys

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

Findstr

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

WDK: developer.microsoft.com/ru-ru/windows/hardware/windows-driver-kit

Загрузка…

0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

1

03.12.2021, 19:42. Показов 2956. Ответов 24


Добрый день! Прошу помощи камрадов разобраться и устранить очень мешающую проблему при работе с ПК.
После включения ПК все в норме — выгружаемый и не выгружаемый в пределах 300мб, спустя пару часов выгруженный уже 3-4-5гб что мешает, ибо комп сильнее шумит как под полной нагрузкой да и подлагивает. Выглядит это так на первом скрине

Если посмотреть в poolmon то вот так на 2 скриншоте

При выполнении запроса при помощи бат скрипта выявляющего утечки в окне консоли видим вот это

Своп (подкачка отключена)

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



4232 / 1738 / 245

Регистрация: 01.05.2013

Сообщений: 7,641

03.12.2021, 21:33

2

shadow_taifun, MmSt — это системный тег.
См. Getting to know the MmSt Pool Tag.
Тег MmSt используется диспетчером обслуживания памяти (Memory Manager) при резервировании памяти для структуры таблицы страниц (эта структура настраивается диспетчером обслуживания памяти для каждого, запущенного процесса в системе и служит для отражения сопоставлений виртуальных адресов и физических адресов в RAM).

Добавлено через 2 минуты
Увеличение потребления памяти этим этим обычно происходит когда в данный момент происходит достаточно большое количество операций с файлами (создание, открытие. копирование, обращение к файлам (например, сканирование того или иного файла антивирусом) и т.д.).



0



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

03.12.2021, 22:08

 [ТС]

3

Дело в том что если убить все процессы, через jv16powertools допустим, размер пула не меняется. Я могу включить комп и ничего не запускать — идет утечка, комп просто включен и все. А память уходит и потом комп либо залагивает или пишет недостаточно памяти. Считаю что это проблема, обратите внимание на скрин — процессор без нагрузки



0



Эксперт С++

3222 / 2481 / 429

Регистрация: 03.05.2011

Сообщений: 5,153

Записей в блоге: 20

03.12.2021, 22:35

4

Цитата
Сообщение от shadow_taifun
Посмотреть сообщение

если убить все процессы, через jv16powertools допустим, размер пула не меняется

он и не поменяется.
пул выгружается ядром, а не какой-то там допотопный jv16
этой тулзой вы только убиваете процессы в юзерспейсном окружении, а сервисы, управляющие драйверами, находятся совсем другом месте (в сессии 0 на не интерактивных рабочих станциях 3e4$ и 3e5$)
у меня в блогах всё это расписано.
да и потом, у большинства сервисов, управляющих драйверами, банально нет асепта STOP, и здесь даже моя тулза KernelExplorer не сможет остановить такой сервис.

проблема ваша в том, что вы установили какую-то ерунду, которая через api уровня реестра забивает вам выгружаемый пул (именно в этом пуле находятся реестр и ему подобное системное ПО, в невыгружаемом пуле сидят объекты ядра).
взять тот же первый скрин — что это за ерунда справа от диспетчера задач?
поудаляйте всю эту чушь, верните систему в сток, сделайте восстановление системных файлов, и тогда промониторьте ещё раз.



1



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

04.12.2021, 00:41

 [ТС]

5

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



0



4232 / 1738 / 245

Регистрация: 01.05.2013

Сообщений: 7,641

04.12.2021, 01:57

6

shadow_taifun, попробуем проверить есть ли действительно какая-то-взаимосвязь между увеличением потребляемой памяти тегом MmSt и активностью операция ввода-вывода. (p.s. не уверен, что я это делаю правильно, так что результаты ниже проводимой операции должны(обязаны) быть подвержены критике).

Запустите Системный монитор/Performance Monitor (погуглите как это сделать, и не спутайте его с Монитором ресурсов). Далее слева в вкладке

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

откройте двойным нажатием

Системный монитор

. Внизу выделите нажатием левой кнопкой мыши счётчик % загруженности процессора и нажмите вверху на красный крест.
Далее нажмите на

зелёный значок плюса

и добавьте следующие счётчики (выделите нужный и нажмите кнопку Добавить):

  • Память (раскройте список) -> Распределений в выгружаемом страничном пуле;
  • Физический диск (раскройте список) -> % активности диска

После нажмите Ок и сражу за начнётся сбор данных и их интерпретация на графиках.

Будет ли у графиков наблюдаться некоторая тенденция ?

Добавлено через 1 минуту
Естественно всё это надо будет проделать, когда будет замечен рост потребления памяти тегом MmSt (например, в ранее использованном PoolMon).



0



Эксперт С++

3222 / 2481 / 429

Регистрация: 03.05.2011

Сообщений: 5,153

Записей в блоге: 20

04.12.2021, 02:01

7

Цитата
Сообщение от shadow_taifun
Посмотреть сообщение

Вы не осуждайте меня а окажите помощь посильную.

так я вас и не осуждаю.
я констатирую, что вы совсем не то делаете.

ну ок, предположим вы правильно определили тег драйверов MmSt и собственно те драйвера, которые ему принадлежат.
теперь нужно разобраться с сервисами (а не процессами).

итак, вот сервисы этих драйверов у меня компьютере (usb2ser такого у меня нет)

Выгружаемый пул спустя пару часов превышает минимальные требования Win10

Выгружаемый пул спустя пару часов превышает минимальные требования Win10

Выгружаемый пул спустя пару часов превышает минимальные требования Win10

Выгружаемый пул спустя пару часов превышает минимальные требования Win10

Выгружаемый пул спустя пару часов превышает минимальные требования Win10

Выгружаемый пул спустя пару часов превышает минимальные требования Win10

запущен только dxgkrnl (остальные — SERVICE_NEVER_STARTED)

и показатели пулов

Выгружаемый пул спустя пару часов превышает минимальные требования Win10

теперь, сравниваете каждый сервис с вашими значениями.
если всё одинаково, поочередно отключаете (не путать с остановкой) сервисы и смотрите на результат.

PS: первым делом советую отключить usb2ser



1



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

04.12.2021, 05:13

 [ТС]

8

Цитата
Сообщение от Turok123
Посмотреть сообщение

Будет ли у графиков наблюдаться некоторая тенденция

ничего необычного, тем временем пул немного упал до 2гб а занято оперативы 17Гб

Цитата
Сообщение от _lunar_
Посмотреть сообщение

итак, вот сервисы этих драйверов у меня компьютере

как это открыть?

Миниатюры

Выгружаемый пул спустя пару часов превышает минимальные требования Win10
 



0



4232 / 1738 / 245

Регистрация: 01.05.2013

Сообщений: 7,641

04.12.2021, 05:40

9

Чёрт. Как я и говорил.

Цитата
Сообщение от Turok123
Посмотреть сообщение

не уверен, что я это делаю правильно, так что результаты ниже проводимой операции должны(обязаны) быть подвержены критике

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

Есть другой, точно верный способ. Скачайте утилиту RAMMap и запустите её, когда снова будет высокое потребление выгружаемого пункта. Сделайте скриншот пункта Use Counts.
По показаниям пункта Mapped File мне будет понятно, действительно ли при факте большого потребления выгружаемого пула имеется высокая активность операций ввода-вывода.



0



Эксперт С++

3222 / 2481 / 429

Регистрация: 03.05.2011

Сообщений: 5,153

Записей в блоге: 20

04.12.2021, 10:20

10

Цитата
Сообщение от shadow_taifun
Посмотреть сообщение

как это открыть?

KernelExplorer
Файл -> PreViewProperties (Beta) -> в правом списке ищите сервисы и два раза левой кнопкой мыши



1



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

04.12.2021, 15:13

 [ТС]

11

Цитата
Сообщение от Turok123
Посмотреть сообщение

Есть другой, точно верный способ. Скачайте утилиту RAMMap и запустите её

во вложении

Цитата
Сообщение от _lunar_
Посмотреть сообщение

два раза левой кнопкой мыши

проверил, отключив поочередно — нифиггашеньки

Миниатюры

Выгружаемый пул спустя пару часов превышает минимальные требования Win10
 



0



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

04.12.2021, 15:15

 [ТС]

12

Rammap

Миниатюры

Выгружаемый пул спустя пару часов превышает минимальные требования Win10
 

Выгружаемый пул спустя пару часов превышает минимальные требования Win10
 



0



Эксперт С++

3222 / 2481 / 429

Регистрация: 03.05.2011

Сообщений: 5,153

Записей в блоге: 20

04.12.2021, 17:53

13

Цитата
Сообщение от shadow_taifun
Посмотреть сообщение

проверил, отключив поочередно — нифиггашеньки

а причём здесь wdm_usb?

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

и потом, что на счёт usb2ser?



1



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

04.12.2021, 19:28

 [ТС]

14

Цитата
Сообщение от _lunar_
Посмотреть сообщение

wdm_usb?

в нем и хранится драйвер usb2ser, ибо такого названия в списке usb2ser просто нет

Цитата
Сообщение от _lunar_
Посмотреть сообщение

перезагрузку компьютера делали?

после всех поочередных отключаний размер памяти не менялся, перегрузился — ничего не поменялось. сейчас размер пула 3,4гб комп запущен 3 часа



0



4232 / 1738 / 245

Регистрация: 01.05.2013

Сообщений: 7,641

04.12.2021, 20:49

15

shadow_taifun, а вот и оно. Mapped File Total ≈ 11гб. Причем Active ≈ 1,5гб (сумма размеров структур таблиц страниц созданных Менеджером памяти для каждого работающего процесса, используемых в данный момент)
Standby ≈ 9,2гб (то же самое, но тут уже речь о не использующихся структурах таблиц страниц («резервные», проще говоря),т.е. в эти страницы все ещё содержат диапазон адресов виртуальной памяти сопоставленных некоторому диапазону адресов физической памяти в RAM, но никаких данных в них нет).

При небольшом количестве одновременно выполняемых операций ввода-вывода Cache manager «очищает» резервные страницы быстрее, чем появляются новые резервные страницы, но если таких операция много, Cache manager просто не поспевает. Например, Cache manager очищает 10 резервных страниц, но в это же время добавляются ещё 100 резервных страниц, ожидающих записи данных системой в них.

Добавлено через 16 минут

Цитата
Сообщение от Turok123
Посмотреть сообщение

RAMMap и запустите её, когда снова будет высокое потребление выгружаемого пункта.

И сделайте и пришлите скриншот вкладки File Summary (нажмите на столбец Total, для сортировки).



0



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

04.12.2021, 22:22

 [ТС]

16

Цитата
Сообщение от Turok123
Посмотреть сообщение

от вкладки File Summary (нажмите на столбец Total, для сортировки).

во вложении

Миниатюры

Выгружаемый пул спустя пару часов превышает минимальные требования Win10
 

Выгружаемый пул спустя пару часов превышает минимальные требования Win10
 



0



4232 / 1738 / 245

Регистрация: 01.05.2013

Сообщений: 7,641

05.12.2021, 04:34

17

shadow_taifun, что у вас обозначено за диск A: ?



0



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

06.12.2021, 00:27

 [ТС]

18

Цитата
Сообщение от Turok123
Посмотреть сообщение

что у вас обозначено за диск A: ?

Пул из 4 жестких дисков



0



4232 / 1738 / 245

Регистрация: 01.05.2013

Сообщений: 7,641

06.12.2021, 15:15

19

shadow_taifun, извините, не понял.
По второму скрину у вас на диске А какой-то сериал. Что это за диск A: такой ?



0



0 / 0 / 0

Регистрация: 12.12.2015

Сообщений: 21

08.12.2021, 15:54

 [ТС]

20

Цитата
Сообщение от Turok123
Посмотреть сообщение

По второму скрину у вас на диске А какой-то сериал. Что это за диск A: такой ?

дисковый массив (пул). на нем хранятся сериальчики которые при помощи meezmo транслируются в локалку для телевизоров и других устройств. То что вы видите на скрине запрос с диска А это значит я смотрю указанную серию сериала в момент скрина

Миниатюры

Выгружаемый пул спустя пару часов превышает минимальные требования Win10
 



0



Главная » Уроки и статьи » Windows

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

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

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

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

  1. Открыть редактор. Быстрее всего будет ввести название в поиске на панели задач. Также можно найти ярлык в меню «Пуск» (находится в папке «Средства администрирования»).

  1. Перейти по пути, обведенному на картинке ниже.

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

  1. Закрыть утилиту и перезагрузить устройство.

Что делать, если способ не помог

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

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

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

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

Понравилось? Поделись с друзьями!


Дата: 05.01.2022
Автор/Переводчик: Wolf

Понравилась статья? Поделить с друзьями:
  • Выбрать администратор x windows system32 cmd exe
  • Выводить полный путь в строке заголовка в windows 7
  • Выберите раздел для установки windows нет разделов
  • Вывод ярлыков на рабочий стол в windows 10
  • Выбранный стиль разделов gpt не устанавливается windows 10