Esta pergunta já tem uma resposta aqui:
O Gerenciador de tarefas mostra meu uso total de memória em 90% do total de 6 GB, mas nenhum processo está usando mais de 250 MB de RAM e a soma do uso de RAM de todos os processos em execução é menor que 2 GB. Eu tentei:
- Olhando para os números na coluna "Memória" na guia "Processos" do Windows 8 Task Manager.
- Observando as colunas "Conjunto de Trabalho", "Conjunto de Trabalho Privado", "Conjunto de Trabalho Compartilhado" e "Tamanho de Confirmação" na guia "Detalhes" do Gerenciador de Tarefas.
- Observando colunas semelhantes relacionadas à memória no Process Explorer.
- Tentei executar o Sysinternals RAMMap, mas enquanto estou com a crise de pouca memória, ela falha no lançamento. Depois de resolver o problema, o RAMMap é executado normalmente, mas nesse momento é tarde demais.
Todos mostram uma quantidade muito pequena de memória sendo usada.
Muitas pessoas fazem variantes desta pergunta, com várias versões do Windows, por toda a Internet. Alguns deles conseguem resolver seus problemas de pouca memória, geralmente reinstalando o software; às vezes reinstalando janelas a partir do zero. Estou procurando uma resposta para as perguntas gerais que todos compartilham e que nunca parecem ser respondidas em outro lugar:
- Por que a memória total usada é muito maior que a memória usada por todos os processos listados, não importa como eu tente contá-los?
- Como o Windows poderia "saber" que a memória é usada sem saber qual programa está sendo usado?
- Quais processos podem consumir memória, mas não aparecer na lista?
- Existe algum software por aí que possa fornecer mais informações sobre a memória usada?
Detalhes específicos do meu próprio problema: Desde a atualização para o Windows 8.1, o problema ocorre assim que eu faço o logon. Fico sem memória assim que executei qualquer programa. Percebi no Process Explorer que várias instâncias do iexplore.exe estavam em execução, aparentemente iniciadas automaticamente. Uma instância específica estava usando apenas alguns MB de RAM, mas mostrava centenas de milhões de falhas de página. Por um capricho, acabei com esse processo específico e o uso de memória caiu imediatamente em 70%.
Levando a uma pergunta específica:
- Como matar um processo que supostamente usou apenas alguns MB liberou vários GB?
E uma pergunta bônus (presumivelmente difícil):
- Com a falta de reinstalar o Windows, como posso evitar ter que passar por isso toda vez que reinicio o computador?
fonte
Respostas:
A propósito, você deve tentar não usar o termo "memória". Isso cria muita confusão. Se você quer dizer memória física, diga "memória física" ou "RAM". Se você quer dizer memória virtual, diga. Se você quer dizer apoio à loja, diga.
Porque o sistema operacional não desperdiça memória física (RAM), a menos que não tenha escolha.
Porque nenhum programa está usando. Considere, por exemplo, a memória que contém o código de um programa que acabou de terminar. Nenhum programa está usando. Mas essa memória é usada, pois não é livre e contém dados que podem ser úteis (caso o programa seja executado novamente).
Não é usado por processos.
O RAMMap pode fazer isso.
Existem apenas duas possibilidades: a RAM pode ser usada ou desperdiçada. Obviamente, o primeiro é melhor. Qualquer memória livre é desperdiçada para sempre - uma máquina de 4 GB não pode usar 2 GB hoje para usar 6 GB amanhã. Se você está pensando "Quero gratuitamente agora para poder usá-lo mais tarde", esqueça isso. Você pode usá-lo agora e depois.
Você está com pouco armazenamento de backup, não memória física. Você tem bastante memória física livre, mas armazenamento de backup insuficiente para o SO continuar alocando memória virtual que pode exigir backup.
O processo estava usando apenas alguns MB de memória física, mas o sistema operacional pode ter que reservar vários GB de memória virtual suportada para ele. Por exemplo, suponha que um processo crie um mapeamento de memória privada gravável de um arquivo de 2 GB. O sistema operacional deve reservar 2 GB de memória virtual com backup para o processo, pois pode gravar em cada byte desse mapeamento. Além disso, talvez nunca escreva para nenhum deles. É por isso que você precisa de um arquivo de paginação de bom tamanho.
Os sistemas operacionais modernos emitem muitos cheques (loja de apoio promissora) que nunca serão trocados (exigem RAM). Você não pode continuar escrevendo cheques (promissor backing store), mesmo que tenha muito dinheiro no banco (RAM grátis) se já tiver emitido um monte de grandes cheques que podem ou não ser sacados (prometeu o mesmo backing store Como você tem). Os arquivos de paginação adicionam armazenamento de backup, permitindo que o sistema operacional continue escrevendo cheques.
fonte