Desde que atualizei para o Windows 10, meu sistema consumiu RAM excessivamente
Eu tenho lido um pouco e determinado que é provável que um driver esteja vazando memória. Então, comprei o Windows Driver Kit e acompanhei o uso da memória com o poolmon:
No entanto, eu realmente não sei como proceder a partir daqui. O item marcado com "smNp" é o culpado nesta edição? Como passo a partir daí para realmente identificar o motorista?
Eu tentei algumas coisas como "C: \ Windows \ System32 \ drivers> findstr / s smnp . " Mas não retornou resultados. Também dei uma olhada no arquivo pooltag.txt e esta é a descrição que encontrei para ele:
Então, sim, qualquer ajuda seria apreciada. Desde já, obrigado.
windows
memory
drivers
windows-10
memory-leaks
Nayncore
fonte
fonte
Respostas:
Ao entrar no
services.msc
(via Win+R) e desativar o Superfetch, isso é completamente resolvido. Não tenho certeza se o Superfetch está quebrado apenas a partir de agora ou é "por design".Além disso, aparentemente, livrar-se do arquivo de paginação terá o mesmo efeito, mas a solução acima é uma aposta mais segura .
fonte
Examinei os rastreamentos xperf de vários usuários e aqui a função
ntoskrnl.exe!SmKmStoreHelperWorker
do Kernel começa a alocar memória.(Clique na imagem para ampliar)
Eu descobri isso em sysinternals .
Eu perguntei à Microsoft sobre isso e a resposta é que isso ocorre por design. Está relacionado à compactação da memória do sistema.
No anúncio do Windows 10 Build 10525, a Microsoft explicou um pouco :
Então, em vez de gravar dados da memória no arquivo de paginação, ele os comprime. E essa memória compactada é mostrada no processo do sistema.
A Microsoft também postou mais detalhes no hub interno. Winbeta criou um artigo que inclui mais detalhes.
A Microsoft também lançou um vídeo no canal9, que explica o recurso.
Compactação de memória no Windows 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM
Nas versões TH2 mais recentes, a Microsoft atualizou a descrição no gerenciador de tarefas e agora também mostra que o processo SYSTEM hospeda o
compressed memory
:para evitar confusões sobre o uso "alto".
Na atualização de aniversário do Windows 10, lançada em agosto de 2016, a Microsoft extraiu a compactação para agora mostrada em um pseudo processo chamado
Memory Compression
para não confundir mais os usuários por que o SYSTEM tem um uso de memória tão grande:Mas parece que o Taskmgr não mostra esse processo, apenas o ProcessExplorer / ProcessHacker é capaz de mostrá-lo. O Taskmgr mostra apenas a quantidade de memória compactada na visão geral:
Se você passar o mouse sobre o gráfico de memória usado no Taskmgr, verá uma dica de ferramenta que mostra a quantidade de dados compactados.
Nesta demonstração, 388 MB são compactados para 122 MB, e 267 MB são salvos com a compactação.
fonte
System Memory compression
Encontrei um caso externo que causa alto uso de memória do sistema e queria incluí-lo caso essas informações beneficiem alguém.
Se você utiliza fortemente os Instantâneos de Volume da Microsoft (o instantâneo de software, não o instantâneo de hardware), mais instantâneos você mantém combinados com grandes alterações de dados, o Sistema consumirá mais RAM.
Normalmente, a quantidade de RAM usada para os Snapshots de volume é pequena e não será notada, a menos que você tenha um volume gigante (ou seja, 64 TB) com deltas de vários terabytes entre os snapshots. Por padrão, os instantâneos simplesmente se excluem se as E / S de gravação ficarem muito altas, mas existem maneiras de evitar isso, permitindo alcançar deltas maciços.
Abaixo está um caso extremo que mostra o processo do sistema de um servidor usando 13 GB de RAM. Este servidor possui apenas dois instantâneos de volume, separados por 15 dias, com cerca de 10 TB de dados gravados entre cada instantâneo.
O processo do sistema acima estava com 24 GB de uso e os três comportamentos a seguir foram observados:
Eu suspeitava de Snapshots de volume, então tentei excluir o snapshot mais antigo, que instantaneamente reduziu o uso de memória do sistema de 24 GB para 13 GB.
Nessas circunstâncias, esse pode ser um comportamento normal, embora eu não tenha confirmado isso com a Microsoft. Enquanto isso, adicionarei 32 GB de RAM adicional a este servidor para lidar com a sobrecarga do instantâneo.
(Nota: este é um servidor de backup de alto volume executando o Windows 2016 com uma unidade iSCSI de 64 TB SSD conectada. Ele mantém uma média de três instantâneos de volume a qualquer momento, com um novo criado a cada 15 dias. Há cerca de 10 TB de dados gravados entre cada instantâneo).
fonte
Desative o pré-buscador na chave regedit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
você provavelmente possuiEnable Prefetcher
um valor igual2
ou superior3
a0
Em seguida, você precisa desativar os
Superfetch
serviçosPesquisar services.msc
Localize
superfetch
cliqueproperties
, defina-o comodisabled
e interrompa o serviço também.Realizo essas etapas e quando jogo e normalmente uso PC, o
system
processo usa apenas 28kfonte