Por que os aplicativos são tão lentos inicialmente quando mudam para eles, mesmo que eu tenha RAM livre?

9

No meu PC com Windows 7 (64 bits), quando tenho alguns programas com fome de recursos e meia dúzia de outros, quando mudo para um aplicativo que não uso há um tempo, leva muito tempo para responder e eu posso ouvir o disco rígido funcionando muito. Suponho que esteja obtendo dados do arquivo de paginação. No Windows Task Manager, mostra que estou usando cerca de 75% da RAM física, com o restante dividido em 50/50 entre em cache e livre.

Embora a RAM esteja disponível, os dados foram movidos para fora da RAM para ficar apenas em disco? Como posso tornar outros programas mais responsivos? Aumentar minha RAM de 4 GB para 8 GB acelerará isso ao mudar de um programa para outro?

Curyous
fonte
Observe que você precisará do Windows 7 de 64 bits para usar mais de 4 GB. A adição de mais memória ajudará muito e, em seguida, defina o arquivo de paginação como Mínimo 200 MB / Máximo 200 MB.
Michael9000
Provavelmente é por causa da parte "Eu tenho alguns programas famintos por recursos" , aposto.
Surfasb

Respostas:

7

O Windows precisa fazer uma troca entre taxa de transferência e latência.

Se mantivesse os aplicativos na RAM, mesmo quando não fossem usados ​​por um longo período, a taxa de transferência sofreria. A RAM física usada, porém inativa, reduziria a RAM disponível para outros aplicativos e o sistema.

O Windows toma a decisão de paginar a memória que não foi acessada há muito tempo. Isso permite que mais RAM física seja usada como cache de disco e melhora significativamente a taxa de transferência do aplicativo.

A desvantagem é que, quando esses aplicativos eventualmente precisam acessar as páginas de memória que não foram acessadas há algum tempo, eles podem não ser residentes. Nesse caso, o aplicativo precisa aguardar um momento enquanto eles são lidos novamente na RAM.

O Windows geralmente faz um bom trabalho ao fazer essas trocas, e eu não recomendaria tentar ajustá-lo demais. Você pode melhorar a latência, mas haverá uma penalidade enorme na taxa de transferência e, pior, pode entrar em um estado em que algumas coisas simplesmente não funcionam. (Por exemplo, se você desabilitar seu arquivo de paginação, daqui a dois meses, poderá descobrir que está editando uma imagem grande ou algo assim e simplesmente não poderá salvá-la porque as alocações de memória sempre falham.)

Claro, você sempre pode adicionar mais RAM. É absurdamente barato agora. E isso torna menos provável que o Windows tenha que fazer trocas em primeiro lugar.

David Schwartz
fonte
1
No que diz respeito à desativação do arquivo de paginação, é possível que seu sistema possa simplesmente travar.
Surfasb
6

O Windows paginou os programas sem memória e no disco. Não conheço o algoritmo usado, mas não ficaria surpreso se ele visse o período de tempo em que o aplicativo ficou inativo.

O Windows tentará maximizar a quantidade de RAM física livre útil, portanto, atualizar sua memória para 8 ou até 12 GB melhoraria a capacidade de resposta do seu sistema - especialmente se você estiver executando vários aplicativos "famintos por recursos".

ChrisF
fonte
3
Definitivamente, analisa quanto tempo a memória ficou ociosa. Quando o Windows deseja mais RAM física livre, a primeira coisa que ele descarta (ou sai) são as páginas de memória que não são acessadas há muito tempo.
David Schwartz
0

Você pode verificar no Windows Task Manager qual programa está usando tanta memória RAM.

Por experiência pessoal, considero desnecessário o arquivo de troca em PCs com 4 GB + RAM. Convém desativar totalmente a troca para ver se é a causa do problema.

Além disso, há os Serviços do Windows que eu prefiro desativar, pois tendem a gerar muitas E / S de disco desnecessárias: Superfetch, ReadyBoost, Pesquisa do Windows, Windows Defender, Volume Shadow Copy e Rastreamento de Link Distribuído.

Mikhail Kupchik
fonte
2
Verifique excelente de BlackViper local para ver quais serviços você com segurança pode desativar
Michael9000
1
Desativar o Superfetch junto com o arquivo de paginação é um grande erro. Isso já foi discutido várias vezes.
Surfasb