На ноутбуке Spectre X360 с 8 ГБ оперативной памяти, работающей на Win 8.1, я заметил, что все становится очень вялым. В задаче Maanger я мог видеть, что использовал неприличное количество оперативной памяти (7 ГБ /8 ГБ), но просмотр подробных данных и сортировка с помощью Memory desc не выявили виновника.

После некоторого подключения к Интернету я обнаружил, что общая проблема заключалась в том, что размер невыгружаемого пула был велик, где основной причиной, возможно, была утечка памяти драйвера. Конечно, мой пул страниц не был размером 3,2 ГБ даже после перезапуска.

В диспетчере задач-> подробности я попытался отсортировать по столбцу NP Pool, но самый высокий элемент имел только 200k.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

ищите ClearPageFileAtShutDown и установите в 1.

После того, как я это сделал, я перезагрузил компьютер и установил альта, RAM на холостом ходу до ~ 2 ГБ.

Может кто-нибудь помочь объяснить, почему это работает?
Есть ли способ, которым я могу устранить неполадки исходной проблемы, чтобы я мог установить это значение обратно на 0?

1 ответ1

1

Сначала начните с poolmon, чтобы увидеть, какой драйвер вызывает высокую загрузку .

Установите Windows WDK, запустите poolmon ("C:\Program Files (x86)\Windows Kits\8.1\Tools\x64\poolmon.exe"), отсортируйте его через P после типа пула, чтобы не выгружаемый был сверху, а через B после байтов, чтобы увидеть тег, который использует больше памяти.

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

Теперь откройте приглашение cmd, перейдите в C:\Windows\System32\Drivers (cd C:\Windows\System32\Drivers) и выполните команду findstr чтобы увидеть, какой драйвер использует этот тег:

Теперь посмотрите на свойства файла, найдите версию драйвера и найдите обновление.

Если тег пула показывает только драйверы Windows или указан в файле pooltag.txt ("C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\triage\pooltag.txt")

Вы должны использовать xperf, чтобы отследить, что вызывает использование. Установите WPT из Windows SDK, откройте cmd.exe от имени администратора и запустите:

xperf -on PROC_THREAD+LOADER+POOL -stackwalk PoolAlloc+PoolFree+PoolAllocSession+PoolFreeSession -BufferSize 2048 -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d C:\pool.etl

захватить 30 -60-х годов роста. Откройте ETL с помощью WPA.exe, добавьте графики пула на панель анализа.

Поместите столбец pooltag на первое место и добавьте столбец stack. Теперь загрузите символы внутри WPA.exe и разверните стек тега, который вы видели в poolmon.

Теперь найдите другие сторонние драйверы, которые вы можете увидеть в стеке. Здесь Thre тег (Thread) используется AVKCl.exe из G-Data. Ищите обновления драйверов / программ, чтобы исправить это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .