Porque é que o uso total de memória relatado pelo Gestor de Tarefas do Windows é muito superior à soma do uso de memória de todos os processos?
O Gestor de Tarefas mostra a minha utilização total de memória em 90% do total dos meus 6 GB, mas nenhum processo utiliza mais de 250 MB de RAM, e a soma da utilização de RAM de todos os processos em execução é inferior a 2 GB. Eu tentei:
- Olhando para os números na coluna “Memória” no separador “Processos” do Gestor de Tarefas do Windows 8.
- Olhando para as colunas “Conjunto de Trabalho”, “Conjunto de Trabalho Privado”, “Conjunto de Trabalho Partilhado”, e “Commit Size” no separador “Detalhes” do Gestor de Tarefas.
- Olhando para colunas semelhantes relacionadas com a memória no Process Explorer.
- Tentei executar o Sysinternals RAMMap, mas enquanto estou a ter a crise de baixa memória, ele cai no lançamento. Uma vez resolvido o problema, o RAMMap funciona normalmente, mas nesse momento é demasiado tarde.
Todos mostram uma quantidade bastante pequena de memória a ser utilizada.
Há muitas pessoas a perguntar variantes desta questão, com várias versões de janelas, por toda a Internet. Algumas conseguem resolver os seus problemas de baixa memória, muitas vezes reinstalando software; por vezes reinstalando janelas a partir do zero. Procuro uma resposta para as questões gerais que todas estas pessoas partilham, e que parecem nunca obter resposta noutro lugar:
- Porque é que a memória total utilizada é muito superior à memória utilizada por todos os processos listados, independentemente da forma como eu os tento contar?
- Como poderia o windows “saber” que a memória é utilizada sem saber que programa a está a utilizar?
- Que processos poderiam eventualmente utilizar a memória mas não aparecer na lista?
- Há por aí algum software que possa dar mais informações sobre a memória usada?
Detalhes específicos do meu próprio problema: Desde a actualização para Windows 8.1, o problema ocorre assim que inicio a sessão. Fico sem memória assim que corro qualquer programa. Notei no Process Explorer que várias instâncias do iexplore.exe estavam a correr, aparentemente iniciadas automaticamente. Uma instância em particular estava a usar apenas alguns MB de RAM, mas mostrava centenas de milhões de falhas de página. Por capricho, matei esse processo específico, e o uso de memória caiu imediatamente em 70%.
Levando a uma questão específica:
- Como poderia matar um processo que supostamente só utilizava alguns MB libertar vários GB?
& E uma pergunta (presumivelmente dura) de bónus:
& - Sem reinstalar o Windows, como poderia evitar ter de passar por isto sempre que reiniciar o meu computador?