Win 8.1 Uso de RAM de pool não paginado alto

0

Em um notebook x360 com 8GB de RAM rodando o win 8.1, notei que as coisas ficaram realmente lentas. Na tarefa Maanger eu pude ver que eu estava usando uma quantidade obscena de RAM (7GB / 8GB), mas lendo detalhes e soring por Memória desc não revelou culpado.

Depois de alguns acessos à Internet, descobri que um problema comum era o tamanho do pool não-paginado ser grande, onde a causa raiz é possivelmente um vazamento de memória do driver. com certeza, meu tamanho de pool não relacionado a páginas era de 3,2 GB, mesmo após a reinicialização.

Em detalhes do gerenciador de tarefas > tentei classificar pela coluna NP Pool, mas o item mais alto tinha apenas 200k.

Em uma perda, eu decidi experimentar uma solução muito elogiada: a modificação do registro de limpar o arquivo de paginação no desligamento. regedit aberto e

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

procure por ClearPageFileAtShutDown e defina como 1.

Depois que fiz isso, reiniciei e violei a RAM em inatividade para ~ 2GB.

Alguém pode ajudar a explicar por que isso funciona?
Existe uma maneira de solucionar o problema original para que eu possa definir isso de volta para 0?

    
por w-- 19.10.2015 / 06:39

1 resposta

1
Primeiro, comece com poolmon para ver qual driver está causando o alto uso.

Instale o Windows WDK , execute poolmon ( "C:\Program Files (x86)\Windows Kits.1\Tools\x64\poolmon.exe" ), classifique-o por meio de P após o tipo de pool, de modo que o non paged fique no topo e através de B depois dos bytes, para ver a tag que mais usa a memória.

Agora, veja qual pooltag usa a maior parte da memória, como mostrado aqui:

Agoraabraumpromptdocmd,váparaC:\Windows\System32\Drivers(cdC:\Windows\System32\Drivers)eexecuteocomandofindstrparaverqualdriverusaessatag:

Agora, observe as propriedades do arquivo, encontre a versão do driver e procure uma atualização.

Se o pooltag mostrar apenas os drivers do Windows ou estiver listado no pooltag.txt ( "C:\Program Files (x86)\Windows Kits.1\Debuggers\x64\triage\pooltag.txt" )

você tem que usar xperf para rastrear o que causa o uso . Instale o WPT do Windows SDK , abra um cmd.exe como administrador e execute este:

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

capture 30 -60s do crescimento. Abra o ETL com o WPA.exe, adicione os gráficos do Pool ao painel de análise.

Coloque a coluna pooltag no primeiro lugar e adicione a coluna da pilha. Agora carregue os símbolos dentro do WPA.exe e expanda a pilha da tag que você viu no poolmon.

Agora, encontre outros drivers de terceiros que você pode ver na pilha. Aqui, a tag Thre (Thread) é usada pelo AVKCl.exe da G-Data. Procure por atualizações de driver / programa para corrigi-lo.

    
por 19.10.2015 / 18:14