Como faço para tornar o Windows 7 menos agressivo no cache de memória?

16

Observei recentemente que o Windows 7 na minha máquina estava reclamando de falta de memória e que eu deveria fechar alguns programas. Em seguida, ele normalmente indica um programa que estou executando que tem um vazamento de memória e cresceu bastante. No entanto, geralmente esses programas iniciam com 20 MB de uso de RAM e somente após a execução do programa entre 12 a 24 horas, eles aumentam para, no máximo, 200 MB de uso de RAM. Eu nunca tenho mais do que três desses programas em execução ao mesmo tempo, portanto, 600 MB de uso máximo de RAM que eu já vi nos meus programas em execução.

Estou executando o Windows 7 x64 em uma máquina com 4 GB de RAM. No começo, eu realmente esqueci isso e simplesmente reiniciei os programas quando o Windows reclamou, mas agora que me lembrei, o fato de o Windows estar reclamando de eu usar 600 MB de RAM (menos de 2 GB, mesmo que você inclua memória usada pelo próprio sistema operacional) parecia estranho . Então, abri a janela de processo do sistema para examinar meu uso total de memória dos meus processos e processos do sistema listados. Foram adicionados pouco mais de 700 MB, então eu ainda estava confuso. Depois fui ao Monitor de Recursos e abri a guia Memória. Lá acho que encontrei minha resposta. Ele observou que, na verdade, eu estava usando apenas 33% da minha RAM. No entanto, na barra de alocação de recursos de memória física, a seção Modificado era de até 2,3 GB, a seção Em espera era de até 540 MB, a seção Livre tinha menos de 20 MB e a memória em cache era listada em 2. A memória disponível de 8 GB foi listada em 550 MB. (Esses valores são levemente arredondados, é claro, pois os teus estão constantemente mudando enquanto escrevo isso.)

Então, aparentemente, o Windows 7 está usando mais memória do que eu. Em algum momento no passado, fiz algumas modificações no menu de serviços do Windows instalado, mas isso foi apenas para desativar certos serviços de hospedagem, já que eu não queria fazer nenhum compartilhamento de mídia, habilitar o cliente Telnet e remover a Internet. Explorer, mas pode ser minha culpa. Existe alguma maneira de fazer com que o Windows não faça isso ou, pelo menos, faça um cache muito menos agressivo, então paro de receber esses avisos de "Pouca memória"?

grg-n-sox
fonte
2
O OP entende mal o problema. Ele está com pouca memória virtual suportada. Toda a sua análise sobre memória física é irrelevante. Você pode ter bastante memória física livre, mas memória virtual de backup livre insuficiente e o aviso de memória pop-up é um aviso sobre a falta de memória virtual de backup, não a memória física. (Embora um vazamento de memória física de um piloto pode causar o problema indiretamente.)
David Schwartz
"O OP entende mal o problema." Assim como vários dos respondentes. :(
Jamie Hanrahan

Respostas:

10

A memória em espera não é um problema, é considerada "livre" e será realocada a pedido - apenas contém memória usada recentemente pelos programas, mas agora é liberada. Se outro programa solicitar mais memória do que "Livre", o sistema deve alocar sem problemas o conjunto em espera (já que a memória "em espera" não está em uso no momento).

O excesso de memória modificada é seu problema, porque não pode ser realocado facilmente. Veja aqui . É provável que seja causado por um vazamento de memória (que parece corresponder ao seu primeiro parágrafo - quais programas estão vazando?) Ou por um arquivo de paginação ser muito pequeno (o tamanho do arquivo de paginação é fixo ou desativado?).

DMA57361
fonte
3
Como observei no meu comentário para a resposta da CJM, fechei todos os meus aplicativos questionáveis ​​(alguns jogos independentes para PC) e só tenho o Gerenciador de Tarefas, o Monitor de Recursos, o AVG e o Chrome em execução agora, mas ainda tenho 1,6 GB de memória modificada. Eu deixo meu computador ligado por dias seguidos, que corresponde ao perfil no artigo que você vinculou. No entanto, uma observação nessa página da Web era procurar um processo com um tamanho de confirmação grande. Atualmente, esse é um processo do nSvcAppFlt.exe. Ele tem apenas um tamanho de conjunto de trabalho de 30 MB, mas um tamanho de confirmação de 13,5 GB. O que da?
GRG-n-sox
2
Esse é o programa que está vazando sua memória. Consulte também social.answers.microsoft.com/Forums/en-US/w7performance/thread/… . Remova e tudo ficará bem.
Akid
Muito obrigado. Na verdade, isso é meio bacana. Então, basicamente, se estou percebendo que minha RAM está sendo consumida, posso apenas ir ao meu monitor de recursos, ver se a seção Memória modificada é enorme e ver qual processo tem um tamanho de confirmação grande e encontro meu programa de vazamento de memória? Definitivamente, uma boa ferramenta de diagnóstico para o Windows.
GRG-n-sox
Desative ou atualize seu software de firewall Nvidia.
David Schwartz
Você tem três "você" que devem ser "seu" no último parágrafo. (Não é possível sugerir edição, muito menor.) #
Shadow The Burning Wizard
4

O cache preventivo do SuperFetch não é seu problema. O Windows 7 utilizará o máximo de memória disponível possível para armazenar em cache preventivamente o que acha que precisará em seguida. Se acertar, você economizará um pouco de tempo e seus aplicativos parecerão mais rápidos e responsivos.

Se achar que está errado e você precisar de outros dados, o Superfetch liberará parte da memória que possui, para permitir que você carregue os dados que realmente precisa. Consulte: http://arstechnica.com/microsoft/news/2010/02/behind-the-windows-7-memory-usage-scaremongering.ars

Se você estiver com problemas de 'pouca memória', não será por causa do SuperFetch - pois ela perderá a quantidade de memória necessária se os aplicativos exigirem. A memória disponível (550 MB) é o que está sendo usado pelo super busca, tão claramente você ainda não ficou sem memória. Mesmo quando você usa toda a sua RAM, sua máquina volta à memória virtual, embora você queira evitar isso por causa do desempenho atingido ...

Portanto, sugere que você tem problemas de 'pouca memória' devido a problemas em outros lugares - talvez um dos seus aplicativos com vazamento esteja consumindo (e não abdicando) de outros tipos de recursos ...

De qualquer maneira, é mais provável que a solução seja encontrada atacando seus aplicativos com bugs, do que brincando com o SuperFetch ...

CJM
fonte
Entendo que a seção Standby da memória faz parte da memória em cache, mas tenho que duvidar seriamente de que o problema é meus programas. Acabei de fechar todos agora, então tudo o que tenho em execução é o AVG, o Gerenciador de tarefas, o Monitor de recursos e uma única janela do Chrome com quatro guias. Só tenho 1042MB em uso com 1417MB de memória disponível, mas ainda tenho esse grande pedaço de memória modificada ocupando 1633MB que o Gerenciador de tarefas está contando como memória usada e me dando pouca memória. Existe uma maneira de reduzir a quantidade de memória modificada ou simplesmente desativar o aviso de pouca memória?
GRG-n-sox
0

Como você acha que o problema está sendo causado por um programa com vazamento de memória, a alternativa seria aumentar o tamanho do arquivo de paginação.

Embora o arquivo de paginação não seja sua memória principal, ele permitirá que o sistema operacional troque mais dados no disco rígido e, esperançosamente, pare a mensagem "falta de memória". A única outra opção seria remover o programa associado ao processo que possui uma enorme pegada de 13 GB, embora eu não tenha idéia de qual programa precisaria paginar tanta memória, a menos que fosse algum jogo de PC de ponta ou um software de renderização em 3D.

Britton
fonte
0

Da minha experiência, a fluência da memória em espera é um problema real. Por exemplo, se eu executar o Snagit no modo janelas de rolamento para um artigo longo, haverá partes do artigo que não foram capturadas ao executar apenas na memória em espera. De qualquer forma, acho que meu computador fica lento na memória em espera.

Para resolver o problema, uso o otimizador de memória dos Glary Utilities gratuitos. Meu computador possui 6 GIG de memória. Na primeira inicialização, tenho cerca de 2 GIG de memória em uso, 2 GIG de stand-by e 2 GIG do que chamo de memória Free Free, de acordo com o Monitor de Recursos do Windows. Dentro de meio dia ou mais, toda a minha memória Free-Free se transformaria em memória Standby, usando ou não o computador. Agora eu tenho o otimizador de memória da Glary Utilities para iniciar no Windows e posso manter meu computador funcionando indefinidamente, com os 2 GIG completos de memória Free-Free disponíveis.

Sempre que me sento para outra sessão, clico duas vezes no ícone da bandeja do otimizador de memória e faço uma otimização; pedindo que meu 2 GIG original de memória Free-Free seja liberado. Posso pedir mais, mas esse é o máximo que será liberado independentemente. O otimizador leva cerca de 30 segundos para ser concluído, muito menos do que o necessário para uma reinicialização. Ele tem um modo de otimização automática, mas não consegui descobrir como fazê-lo funcionar.

James Horner
fonte
A memória em espera não é um problema.
21714 Jamie Hanrahan
O "otimizador de memória" deve ser descartado. RAM em espera é a RAM recentemente "em uso" nos processos. Foi excluído desses processos devido à substituição do conjunto de trabalho, mas ainda contém o que fazia quando estava "em uso". Se um processo precisar do conteúdo de uma dessas páginas, ela poderá retornar rapidamente ao processo. É por isso que o modo de espera é considerado parte da contagem de "cache". Mas o modo de espera também é "Disponível" para outros usos, assim como a RAM livre. O seu "otimizador de memória" acabou de mover um monte de páginas do modo de espera para livre, ou seja, você abaixou o cache do modo de espera [...]
Jamie Hanrahan
[...] sem disponibilizar mais RAM. Como "Em espera" sempre estava "Disponível" de qualquer maneira! Com o Vista e versões posteriores, o Superfetch agora pode usar parte do Standby para o cache proativo de arquivos, mas as páginas ainda podem ser redirecionadas para uso por outros processos, conforme necessário. Portanto, o SuperFetch também não tira nenhuma página de "Disponível". Livre-se do "gerenciador de memória", ele está prejudicando o desempenho do seu sistema, causando E / Ss desnecessárias no disco.
precisa
-1

Para resolver esse problema

Vá para start-run-msconfig, faça a manutenção e remova a marca de "Windows driver foundation". clique em ok e reinicie a máquina.

Lembre-se - Apenas as etapas acima mencionadas resolverão esse problema. Se você desabilitou o services.msc, ele ainda está ativo no momento da inicialização do sistema operacional e bloqueará sua memória.

Para verificar isso, use a ferramenta

user261975
fonte
Desativar o serviço WDF desativará todos os dispositivos que dependem desse modelo de driver. Isso é uma má idéia.
21714 Jamie Hanrahan