Como alguém diagnostica / descobre problemas relacionados à memória, se o Gerenciador de Tarefas parece não estar relatando corretamente?
Preciso ter um vazamento de memória ou algo assim - estou usando 75% dos meus 12 GB de memória, mas as listagens dos gerenciadores de tarefas do uso de memória dos processos não estão aumentando (sim, a opção "Mostrar processos de todos os usuários" está marcada )
Parece que esse uso de memória "fantasma" cresce em relação a quanto tempo o sistema está ativo. Isso mostra que existem 118 processos totais. Além dos 5 primeiros, todos eles têm menos de 50 MB.
O processo principal é o Firefox, usando 2,6 GB. Adobe Premiere em 900 MB. Recipiente de plug-in a 300 MB. Lua pálida a 275 MB. Explorer.exe em 94 MB.
Como no mundo posso encontrar o que está consumindo o resto da minha memória? Parece que o Gerenciador de Tarefas não está vendo tudo o que está sendo usado. Talvez haja algum tipo de vazamento de memória? Ou os programas não estão liberando a memória usada corretamente?
Relatórios do Resource Monitor (clique para uma versão ampliada):
NOTA:
- Como minha unidade principal do sistema operacional é um SSD, o SuperFetch está desativado no meu sistema.
- E eu entendo o princípio de que o carneiro não utilizado é o carneiro "desperdiçado", por assim dizer. No entanto, quando vejo meu uso de memória quase usado para aumentar a capacidade, ele me impede de executar / carregar programas subseqüentes (por minha própria preocupação) e até me envia para a tarefa de encerrar muitos computadores (com pouco efeito na redução do uso de memória, pelo menos visivelmente e dentro de um curto período de tempo).
- Quando a memória fica cheia, eu odeio ver o arquivo de página de 1 GB no meu SSD expandir para o limite de 6 GB que eu estabeleci, e eu "suando" com o conhecimento de que meu SSD "ruim" provavelmente está se transformando em pó, já que o Windows pesadamente / vira-se desenfreado para usá-lo como um cartão de memória de pleno direito. (Nessa nota, devo limitar apenas o arquivo de paginação a 1 GB estático?)
fonte
Respostas:
Geralmente, você pode ter uma ideia melhor do que está consumindo sua memória com ferramentas como o RamMap .
Clique para ampliar
Freqüentemente, a memória pode ser usada por arquivos mapeados na memória que foram inseridos na RAM para aumentar o desempenho.
Anote a coluna Ativa no RamMap. Essa é a memória que atualmente está sendo utilizada. Os indicadores referentes à memória livre geralmente podem ser enganosos. Isso inclui ferramentas do Windows, como o Gerenciador de tarefas.
Outras informações
Eu também queria abordar alguns pontos adicionais da sua pergunta.
Seu raciocínio está perfeitamente bem. Mas, a menos que você esteja enfrentando problemas devido a situações de pouca memória, evite esta prática. O sistema operacional deve lidar com essa tarefa e liberar dados para o arquivo de paginação quando a memória física for necessária.
Possivelmente, você também está usando o indicador errado para a sua prática. Você deseja ter um olho na sua cobrança de confirmação ( terminologia do Process Explorer ).
A carga de confirmação é a soma de toda a memória usada. Você pode ver na imagem, também há um limite para isso. Esse limite é o tamanho da minha memória física + o tamanho do meu arquivo de paginação. Se esse limite fosse atingido, isso seria um problema.
O que nos leva ao próximo tópico.
Na minha opinião, há várias coisas erradas aqui. Em geral, deve ser fortemente desencorajado definir limites no tamanho do arquivo de paginação. Mark Russinovich explica isso nos vídeos que eu vinculei acima (muito melhor do que eu jamais pude).
Somente coisas ruins podem vir disso. O que o Windows deve fazer quando precisa liberar mais de 6 GB de dados no arquivo de paginação, mas você o limita em 6 GB? Essa é uma questão importante.
Deixe o Windows manipular o arquivo de paginação. A única coisa que eu aconselho você a fazer é mover o arquivo de paginação para longe do seu SSD. Tom Wijsman explica isso de maneira excelente em sua postagem no blog Maximizando a vida útil do seu SSD , que eu recomendo que você leia.
fonte
No meu caso, o motivo do alto uso de memória foi uma máquina virtual hyper-v para a qual eu tinha as configurações de memória dinâmica ativadas para RAM.
A ferramenta RamMap me ajudou a localizar a causa raiz.
Primeiro, notei no RamMap que o Driver Locked consumia mais de 29 GB da minha RAM de 32 GB. Em seguida, encontrei um artigo que explicava que o uso de memória alta bloqueada pelo driver pode ser causado pela memória dinâmica HyperV ativada, e acabei de confirmar isso.
fonte
Se você ver que o snap não está mostrando todo o processo, o processo mostrado está consumindo 5,8 GB de memória. pelo snap mostrado, mostra que há muitos programas desnecessários em segundo plano em execução. O uso do msconfig remove os programas de inicialização desnecessários e também aumenta a sua memória virtual (1,5 vezes a sua memória física).
fonte
Você pode experimentar o RAMMAP do Sysinternal, mas mostra o uso da memória de uma maneira diferente do Gerenciador de Tarefas e do Gerenciador de Recursos e, portanto, não é muito útil.
O Gerenciador de tarefas e o Monitor de recursos não mostram o cache e o tamanho do arquivo. Faz parte da parte "Em uso" da memória (consulte o Monitor de recursos). O cache do arquivo pode crescer para um tamanho MUITO grande, especialmente quando se mantém o computador funcionando por horas. O uso geral da memória do programa aumenta com o passar do tempo, como resultado de um crescente cache de arquivos e vazamentos de memória. Alguns programas simplesmente têm um péssimo gerenciamento de memória.
Uma maneira de minimizar o uso de memória é reduzir a quantidade de processos. (Por que 118 processos estão em execução? Por que você tem várias instâncias do Explorer.exe em execução?)
Existe um programa que ajuda você a reduzir regularmente o uso de memória e recolher regularmente o cache de arquivos. (CLEANMEM do PcWinTech). Reduzir o uso de memória dessa maneira também reduz ou elimina a necessidade de o Windows gravar dados da memória no arquivo de troca (no seu SSD). Assim, aumenta a vida útil do seu SSD. A redução do uso de memória também disponibiliza mais memória "Em espera", permitindo que o Windows pré-carregue mais arquivos na memória em espera, acelerando o sistema.
fonte
O RAMMap mostrou que o
C:\Windows\SoftwareDistribution\DataStore\DataStore.edb
arquivo mapeado estava desperdiçando 400 Mb da minha preciosa RAM de 4 Gb.Além disso, o Windows Update estava constantemente diminuindo a velocidade do sistema no processo de atualização desse arquivo enorme.
Esse pode ser um problema comum para muitos PCs de gama baixa.
Consulte o PC Boots e, em seguida, grava um arquivo gigante datastore.edb que torna o computador lento para uma possível resolução.
fonte