Uso irracional da RAM no Windows 7

16

Tenho uma nova instalação do Windows 7 e minha RAM na inicialização normal chega a 2,5 GB. Eu olhei para o Gerenciador de tarefas e há pelo menos 1,5 GB faltando a partir daí e no Monitor de recursos também. Não há indicação do que está usando essa RAM. Alguém pode me dizer como descobrir o que está consumindo minha memória? Acredito que seja um vírus, mas nenhum dos programas antivírus gratuitos o localizou.

Eu adicionei as fotos abaixo. Se esse é o uso normal do Windows 7, como algumas respostas sugerem, não entendo nada disso.

PS
Minha instalação do Windows 8 estava executando abaixo de 2,5 GB, na verdade era 1. algo, até recentemente, que eu transferi alguns arquivos de outro computador que tinham o mesmo problema que o meu agora. Excluí o Windows 8 e instalei o Windows 7, pois faria isso de qualquer maneira, e agora estou recebendo alto uso de memória no Windows 7.

Captura de tela
(Clique nas imagens para ampliar)

Captura de tela

Deus Deceit
fonte
Bem-vindo ao SuperUser! Para ajudar a diagnosticar seu computador, precisamos de um pouco mais de informação. Você poderia incluir uma captura de tela do gerenciador de tarefas para que possamos ver o que está acontecendo?
digitxp
2
É bom estar aqui :) Adicionei as fotos na minha pergunta.
Deus Deceit
11
Re: I believe it's a virus: xkcd.com/1180 (SCNR)
Heinzi

Respostas:

64

Se você quiser que o sistema operacional não use sua RAM, retire-o da máquina e sente-o na mesa. Mas enquanto a RAM estiver na máquina, a utilização será gratuita . Se você está pensando "Quero a RAM livre agora para poder usá-la mais tarde ", você está sendo bobo. Você pode usá-lo agora e depois. Não desvantagem em usar a RAM. Nenhum mesmo.

Os sistemas operacionais modernos apenas liberam RAM se eles não tiverem escolha. Isso ocorre porque há apenas duas coisas que podem acontecer. Se a RAM for usada em breve, eles apenas precisarão usá-la novamente, desperdiçando o esforço para liberar a RAM - é mais fácil mover a RAM diretamente de um uso para outro. E se a RAM não for usada em breve, o esforço para liberá-la é novamente desperdiçado. Tornar a RAM livre é o último recurso usado apenas se o sistema operacional não tiver outra escolha, pois adiciona uma etapa extra que o sistema operacional precisará executar para usar a RAM.

A RAM livre é necessária apenas nos casos raros em que a RAM é necessária e o sistema operacional não pode fazer a transição da RAM de um uso para outro (por exemplo, no contexto de interrupção). Apenas uma quantidade muito pequena de RAM é necessária para esse fim, normalmente com cerca de 64 MB nos computadores modernos. Mais RAM livre do que isso é apenas desperdício.

Considere se um programa é executado e depois pára. O programa está na RAM. O sistema operacional pode liberar a RAM ou manter o programa na RAM. Se o programa for executado novamente em breve, mantê-lo na RAM é uma enorme vitória - evita-se a E / S do disco. E não há custo zero para manter o programa na RAM, se a RAM não for necessária para outra finalidade. Portanto, o sistema operacional mantém o programa na RAM até que ela seja necessária para outra coisa. Tornar a RAM livre quando a RAM livre não é necessária é uma proposição pura e perdida.

David Schwartz
fonte
11
Isso é ... péssimo. Eu perdi meu dia perseguindo unicórnios como parece. Quero agradecer a todos por suas respostas e marcar esta como correta, pois acho que é a mais esclarecedora.
Deus Deceit
Excelente resposta. Isso anda de mãos dadas com "Quanta RAM eu preciso?" Você só precisa tanto quanto você usa.
Keltari
9
O que as pessoas não entendem é que RAM livre / ociosa é RAM desperdiçada. O que há aí afinal? As pessoas estavam tão acostumadas com a maneira como o XP fazia as coisas que havia enormes queixas sobre o Vista ser um porco da RAM (poucas delas se justificavam).
precisa
11
O problema com essas respostas é que, apesar de corretas, elas solucionam a falta de RAM 'livre', explicando-a como usada no cache. A RAM 'Cache' é diferente daquela alocada para os processos em execução, e a pergunta parece estar se perguntando especificamente sobre a RAM 'usada' pelos processos em execução. A RAM usada pelo SO para o armazenamento em cache deve ser completamente transparente e não deve aparecer como 'usada' no gerenciador de tarefas (é claro, se processos individuais decidirem usar mais da RAM disponível para seu próprio armazenamento em cache, isso não se aplicará, e este pode ser o caso aqui).
Bob
4
@Bob O caso é exatamente o mesmo com a memória alocada para os processos em execução. Quase toda a RAM física é essencialmente um cache em um sistema operacional moderno. A memória alocada por um processo pode ou não corresponder à RAM física real, dependendo de outras necessidades do sistema operacional.
David Schwartz
8

O Windows 7 tenta tirar proveito de toda a sua RAM. Se nenhum programa estiver em uso, ele armazenará o máximo de informações possível do seu HD, para que, quando um programa solicite algumas informações, ele esteja disponível na RAM (que é muito mais rápido que o seu disco).

Esse recurso é chamado Superfetch e você pode ler informações sobre ele nesse link ou pesquisar no Google. E se você quiser saber como isso afeta (melhora) o desempenho, consulte o site de hardware da Tom .

Se um programa exigir mais memória, o Windows fornecerá a RAM necessária para o seu programa, portanto, não é com isso que você deve se preocupar.

woliveirajr
fonte
4

Provavelmente, o que você está observando são os recursos de cache de disco do Windows 7 , eles realmente otimizam o uso da RAM, mesmo que pareça que o contrário está acontecendo.

O kernel do Linux também possui esse tipo de recurso .

dtmland
fonte
11
Estou usando o linux como meu sistema operacional principal e para atingir 2,5 GB de RAM eu tenho que ... na verdade, acho que nunca atingi 2,5 GB de RAM com o que faço.
Deus Deceit
Existe uma maneira de verificar se é esse o caso? Existe uma maneira de desativar esse recurso e ver o que acontece? Eu sou novo no Windows.
Deus Deceit
Sim, isso explica como: addictivetips.com/windows-tips/disable-windows-7-superfetch (aviso eles recomendam contra incapacitante para a maioria dos casos de uso)
dtmland
3
Observe que desativar o Superfetch significa apenas que o Windows pode usar a memória para outros fins. "Memória livre" no final ainda significa que o Windows não tem idéia do que fazer com isso.
MSalters
SuperFetch, o novo "recurso de cache de disco" do Windows 7 (e Vista, e 8, 8.1 e 10) não utiliza RAM da RAM "disponível". A RAM que "usa" permanece na lista de espera e, portanto, "disponível". Ele é usado apenas para armazenar em cache coisas diferentes - o conteúdo dos arquivos que você acessou recentemente, em oposição às páginas que foram recentemente retiradas de processos com baixa prioridade de memória.
21719 Jamie Hanrahan
3

2,5 GB ou RAM é uma quantidade perfeitamente normal para o Windows 7 estar usando. Atualmente, minha máquina está ociosa e com 2,51 GB de RAM usada. Duvido muito que você tenha um vírus, esse é um uso típico da memória.

Quanto ao que está usando essa RAM, consulte o seu Gerenciador de tarefas e verifique se a Show processes from all userscaixa de seleção está marcada. Sem essa opção, você não verá nenhum processo do sistema (ou outros usuários) e o uso de memória.

Keltari
fonte
11
Concordo, acabei de fazer uma nova instalação do Win 7 e o uso de memória é de cerca de 2,1 GB.
Moses
E o que aconteceria se alguém tivesse 2 GB de RAM em vez de 8 que meu laptop possui?
Deus Deceit
4
Se você tivesse menos RAM, usaria menos.
David Schwartz
O @DeusDeceit para adicionar ao comentário de David, qualquer sistema operacional moderno (Windows, Linux, MacOSX) examinará a memória disponível e decidirá sobre a maneira mais eficiente de usá-lo. Nenhum sistema moderno tentará preencher 2 GB de RAM com 3Gb de dados e obter dois terços do caminho e dizer "oops".
Rob Moir
3

Isso é muito semelhante à preocupação comum do Linux de que "o Linux comeu minha RAM". Estou fazendo uso pesado da minha máquina com Windows 7 e, quando tinha 6 GB de RAM física, consome algo como 5 GB. Quando eu atualizei para 8 GB, ele está consumindo 6-7 GB. Mas não mudei nada com o que estou fazendo com minha máquina.

Ele usa a RAM para armazenar arquivos em cache, para que possa ser acessado mais rapidamente mais tarde. Muito parecido com o Linux. É realmente gratuito e o Windows 7 será lançado quando seu aplicativo precisar alocar mais RAM.

JavaDev
fonte