Muita memória sendo usada

13

Eu tenho me sentido assim por um tempo, olhando mentalmente para o gerenciador de tarefas sobre o quanto de memória física deveria estar em uso, e percebendo uma grande disparidade. Eu finalmente cheguei a medi-lo. Tomando os resultados da lista de tarefas e adicionando, deu cerca de 3,87 GB. Gerenciador de tarefas me disse que eu estava usando 4,6 GB de memória. Isso parece uma grande disparidade. Para onde foi?

EDIT: Então é claro, não vai pré-busca. Também foi sugerido que faz parte do sistema operacional, mas não faz parte de nenhum dos processos do sistema. Se isso for verdade, por favor, encontre uma maneira de obter o sistema operacional para me dizer quanta memória está sendo usada. Desde que eu quero descobrir onde a memória foi, me pedindo para olhar a diferença não faz nada para mim.

EDIT 2: Não é o seguinte:

  1. O kernel
  2. O cache
  3. Memória reservada do hardware

Imagem dos recursos captados. Não tenho certeza o que vai fazer, mas ...

    
por soandos 03.06.2011 / 03:42

9 respostas

5

Sugiro que você baixe o Sysinternals Suite da Microsoft . Ele inclui vários utilitários que lhe darão mais informações do que o Gerenciador de Tarefas. Dê uma olhada nos utilitários Process Explorer, RAMMap, VMMap e Process Monitor. Para obter mais informações deles, talvez seja necessário fazer alguma configuração para alterar as informações exibidas.

Além disso, como você está interessado na memória do Windows, veja aqui uma série de posts de Mark Russinovich , um dos desenvolvedores / fundadores da Sysinternals. Isso ajudará a entender as informações fornecidas pelos utilitários.

    
por 06.06.2011 / 10:23
8

O Windows 7 usa a memória "não utilizada" para precache as coisas para fazer as coisas correrem mais rápido. Se você precisar desta memória, ela será liberada.

É um recurso, não um bug;)

De technet

After you’ve used a Windows Vista system a while, you’ll see a low number for the Free Physical Memory counter on Task Manager’s Performance page. That’s because SuperFetch and standard Windows caching make use of all available physical memory to cache disk data. For example, when you first boot, if you immediately run Task Manager you should notice the Free Memory value decreasing as Cached Memory number rises. Or, if you run a memory-hungry program and then exit it (any of the freeware “RAM optimizers” that allocate large amounts of memory and then release the memory will work), or just copy a very large file, the Free number will rise and the Physical Memory Usage graph will drop as the system reclaims the deallocated memory. Over time, however, SuperFetch repopulates the cache with the data that was forced out of memory, so the Cached number will rise and the Free number will decline.

    
por 03.06.2011 / 03:57
5

Os números que você vê são totalmente imprecisos e devem ser considerados apenas como indicações.

Um sistema operacional é uma entidade extremamente complexa e um programa simplista como o Gerenciador de Tarefas nunca pode totalizar todo o uso, muitas partes dele são simplesmente inacessíveis no modo de Usuário no qual ele é executado. Alguns dos elementos que são inacessíveis a ele, ou são simplesmente impossíveis de atribuir a qualquer "tarefa", são as tabelas de segmentação de hardware, alocações de memória compartilhada, memória alocada pelo kernel, alocações de memória de página, memória de dispositivo e muito mais.

Você encontrará mais explicações em Como interpreto a guia Desempenho do Gerenciador de Tarefas? , mas opto por citar esta parte:

What do you expect from a program calling itself the "Task Manager" anyway? There is nothing called a "task" in the operating system kernel - the OS has "processes" and "threads". DOS had "tasks". The Intel hardware has "task" structures, but the OS doesn't use them because it's faster for it to do it itself.

O Gerenciador de Tarefas é um programa muito antigo do Windows, tem problemas até mesmo em atribuir funções a serviços, e os números mostrados devem ser tomados com uma grande dose de sal. Provavelmente está perdendo grandes áreas de memória que não consegue contar ou atribuir a qualquer "tarefa".

    
por 06.06.2011 / 10:00
3

Como você deve ter notado, o Gerenciador de Tarefas pode fornecer uma visão simplificada de como a maioria dos aplicativos afeta seu sistema, mas deixa muito a desejar. Se você realmente quiser cavar em caches na RAM, etc, você precisa entrar no Performance Monitor. Você precisará de algum trabalho para construir seu conjunto de contadores de sistema para monitorar seu sistema.

Você pode chegar lá executando compmgmt.msc ou uma pesquisa no Windows por "gerenciamento de computadores" e, do lado esquerdo, você verá uma árvore de desempenho que pode ser expandida e explorada.

Aqui está uma referência para algumas das ferramentas disponíveis: link

    
por 06.06.2011 / 07:53
3

A memória provavelmente está sendo usada para o kernel. Usando o Process Explorer , podemos ver uma análise muito mais detalhada da memória do sistema:

Aqui eu destaquei a quantidade de memória em uso pelo kernel, que é Paged WS + Nonpaged, ou aproximadamente ~ 300MB de memória. Este é um sistema recém-iniciado com apenas webbrowser e alguns outros aplicativos abertos, embora sob carga pesada meu sistema home facilmente quebre 500MB ou até mesmo 700MB de memória do kernel.

    
por 09.06.2011 / 17:39
2

@soandos, você levou em conta a quantidade de memória que o vídeo está puxando? É muito possível que o vídeo esteja puxando 0,73 GB de RAM. Você tem uma placa de vídeo decente nesta máquina? Se não, usará RAM assim (a partir do que eu sei). Se eu estiver errado, alguém, por favor, grite aqui, mas acredito que esse pode ser o efeito do vídeo vindo da RAM.

    
por 08.06.2011 / 19:58
1

A diferença que eu acho que você está vendo não é porque as ferramentas não conseguem ver a memória usada, mas sim por causa de diferentes formas de medição. Eu não posso explicar isso muito bem, mas felizmente eu não preciso, Mark Russinovich de Sysinternals fama escreveu uma série muito boa de posts sobre desempenho de processos no Windows. As partes sobre memória física e a memória virtual deve explicar o que você está vendo.

    
por 10.06.2011 / 20:27
0

Acho que resolvi isso!

Acabei de encontrar uma dica sobre o RAMMap e descobri que é o µTorrent!

Não é utorrent.exe , mas arquivos compartilhados pelo µTorrent - pelo menos no meu caso: um dos arquivos estava usando mais de 600 MB e outro acima de 200 MB, etc.

    
por 05.01.2013 / 23:34
-1

Alguma memória é usada como cache. Assim que você precisar dessa memória, ela será liberada automaticamente. Então, não precisa se preocupar.

    
por 08.06.2011 / 21:37