pool não paginável grande e não coerente, apesar das configurações

pool não paginável grande e não coerente, apesar das configurações

Desde que aumentei a memória do meu computador, o pool não paginável ficou muito grande (aumentou de 96 MB com 2 GB de RAM para 715 MB com 16 GB).

Da esquerda para a direita: medida de pool paginado por Rammap em 715 MB, gerenciador de tarefas com "ver todos os processos" em nem 1 MB (coluna NP) e as configurações de registro em 192 MB que são simplesmente ignoradas

Não é compreensível porque o gerenciador de tarefas relata menos de 1 MB de pool não paginável devido a processos. E o Poolmon relata 35 MB para o maior uso de memória de pool não paginável.

insira a descrição da imagem aqui

Essas capturas de tela foram feitas logo após a inicialização, portanto não é um vazamento de memória em um driver ou algo assim. Fazendo uma imagem e iniciando-a em uma VM, apenas 350 MB de memória são usados ​​após a inicialização!

A Microsoft fornece um valor no registro para limitar o tamanho do pool não paginado aqui:https://technet.microsoft.com/en-us/library/cc976155.aspxmas fazer isso e reiniciar não resolve o problema. Tentei fornecer valores em bytes (a documentação diz isso), em KB e MB. Sem sorte.

No Linux, posso renderizar cenas 3D ocupando até 15,2 GB. No Windows, devido a alguma proteção e a esse pool enorme, só posso usar 12 GB e então ele começa a trocar para o disco, o que faz com que uma renderização demore> 20 minutos em vez de 1min24s no Linux.

Então, como posso limitar o tamanho do pool não paginado?

Responder1

Executar um programa que requer muita memória (como um aplicativo 3D ou fotográfico) e deixar que ele ocupe memória suficiente para começar a usar o arquivo de paginação fará com que a memória não paginável seja liberada.

Não tenho ideia do porquê, mas no exato momento em que o arquivo de paginação começa a ser usado, o pool não-paginável cai de 750 MB para 200 MB e permanece nesse nível depois disso (testado durante várias horas de trabalho intensivo com muitos programas em execução e usando muita memória).

Isso faz com que o Windows7 bloqueie apenas 350 MB de memória do total de 16 GB (em comparação com o total de 1 GB na inicialização) no meu caso. É claro que muito mais memória está sendo usada, mas é um bom uso por meio do cache, que a torna disponível ao mesmo tempo em que torna o programa mais rápido e os dados podem ser lidos da RAM em vez do disco. Um pool não paginável padrão tão grande simplesmente perde memória, fazendo com que o sistema comece a trocar muito mais cedo do que deveria.

Este bug de um enorme pool não paginável inicial não ocorre em versões do Windows anteriores à 7.

informação relacionada