Como digo ao Windows 7/8/10 para ser menos agressivo ao fazer cópias de RAM para arquivo de paginação?

Como digo ao Windows 7/8/10 para ser menos agressivo ao fazer cópias de RAM para arquivo de paginação?

Muitas pessoas perguntam como desativar o arquivo de paginação, porque sentem os efeitos do problema que irei perguntar. Em vez disso, quero corrigir o problema, sem desabilitar o arquivo de paginação.

O Windows tem a capacidade de armazenar no arquivo de paginação RAM que acha que pode ser necessário paginar, embora teoricamente isso ajude a evitar o lixo em caso de emergência, é profundamente irritante para pessoas com sistemas que possuem HDDs lentos, por exemplo, laptops baratos.

Por exemplo, meu computador atual: no momento ele tem 4,8 GB de RAM em uso, mas tem cerca de 8 GB de "carga de confirmação" atual

Usando ferramentas sysinternal, descobri que a maior parte do conteúdo dos arquivos de página são cópias preemptivas de coisas na RAM, que parecem baixas (tenho 8 GB de RAM, portanto, está 61% em uso), mas usando RamMap Percebo que a maior parte do uso de memória RAM é memória "em espera", e a maior parte dessa memória "em espera" é o cache do Windows (aquele que faz com que os arquivos carreguem mais rápido). com uma grande parte sendo um arquivo binário que são os arquivos de som de um jogo.

Então, o que acontece atualmente: eu jogo algum jogo... o Windows carrega na RAM, e copio outras coisas para o arquivo de paginação (prejudicando o desempenho do jogo), então eu paro de jogar, o Windows deixa os arquivos do jogo em cache na RAM, já que o O uso de RAM é alto, ele continua colocando mais coisas no arquivo de paginação, esperando que eu fique sem RAM, o que o torna lento, pois está constantemente fazendo E/S em meu HDD de qualidade extremamente ruim.

Mas se eu olhar apenas para o uso real de RAM pelos aplicativos, a taxa de commit dos aplicativos atualmente em execução, processos, kernel e coisas compartilhadas usadas, o uso real de RAM deve ser de 2,5 GB, RAM e arquivo de paginação incluídos.

Então, eu queria tentar, em vez de dizer ao Windows para não armazenar em cache (o cache é bem legal), ou para desabilitar o arquivo de paginação, eu queria dizer para NÃO usar o arquivo de paginação, a menos que realmente seja necessário (por exemplo, se uso de memória RAM física - espera uso de memória RAM física > 80% da memória RAM física).

Alguém sabe como eu faço isso?

Responder1

Depois de muita pesquisa, aprendi que o que perguntei é literalmente impossível, você não pode ajustar o Windows para se comportar melhor, o melhor que pode ser feito é literalmente desabilitar totalmente o arquivo de paginação.

Desativar o arquivo de paginação funcionou para mim, corrigindo a maioria dos meus problemas de desempenho (e causando alguns outros problemas), mas valeu a pena.

Responder2

Isso piorará o desempenho, infelizmente. Como você admite, seu disco está lento. Isso significa que é essencial ter o máximo de memória possível disponível para uso como cache de disco. Isso só é possível removendo coisas que não estão sendo acessadas da RAM e isso requer gravá-las no arquivo de paginação.

Se o Windows não usasse o arquivo de paginação para gerar mais RAM para armazenamento em cache, seria necessária ainda mais E/S de disco devido ao armazenamento em cache reduzido. Isso pioraria o desempenho.

O Windows está tirando o melhor proveito de uma situação ruim. As pessoas que projetaram o sistema de gerenciamento de memória do Windows (a partir do Vista) sabiam exatamente o que estavam fazendo e são especialistas líderes no projeto de sistemas de paginação em hardware moderno. Nem você nem eu sabemos melhor do que eles. Eles não fizeram nada de errado que pudesse ser consertado apertando um botão. Desculpe, não existe um botão mágico "ir mais rápido".

A propósito, os SSDs modernos têm uma resistência significativa à gravação. Portanto, se você não pode adicionar mais RAM, adicionar um SSD pequeno e barato ao seu arquivo de paginação é razoável. Obviamente, manter seus arquivos principais em um SSD faria mais diferença.

Responder3

Infelizmente, você não pode fazer isso, basicamente você pode ter um arquivo de paginação ou não, você pode escolher onde o arquivo de paginação será armazenado e quão grande ele é, mas você não tem controle sobre o algoritmo do que será trocado.

Tenho certeza de que você recebeu respostas frustrantes como se você fosse um idiota e os desenvolvedores da Microsoft estivessem sempre corretos, etc.

Basicamente, o Windows está programado para preferir a memória de espera (cache de leitura) a manter as coisas fora do arquivo de paginação. A ideia é que existe uma chance de você querer ler os dados que estão no standby chache e, se isso acontecer, você terá um ganho de desempenho.

Eu não concordo muito com isso, minha opinião é que, se você trocar dados ativos para um arquivo de paginação, é "inevitável" que seu sistema queira ler esses dados em algum momento e, quando isso acontecer, você terá atraso, porque é foi lido do arquivo de paginação. Além disso, as leituras de arquivos de páginas têm sobrecargas mais altas do que as leituras diretamente de um sistema de arquivos.

No meu sistema, por exemplo, o Windows sempre exibirá a ferramenta de economia de energia de vários monitores da Nvidia, não sei por que, algo no algoritmo faz com que ele escolha esse aplicativo, ele obterá páginas mesmo se a utilização da memória RAM for tão baixa quanto 5%.

Minha opinião é que os arquivos de página devem ser usados ​​apenas para evitar desastres, basicamente semelhante ao swappiness=1 linux sysctl. O que é basicamente o mesmo que você estava perguntando em sua pergunta, essencialmente, as únicas partes importantes do uso de memória RAM no Windows são "em uso" e "modificadas", modificado é o cache de gravação, que obviamente precisa despejar seus dados para disco antes que ele possa ser limpo, enquanto a limpeza do cache de espera não tem consequências negativas.

Fiz vários testes em meu sistema Windows de 32 GB e não vi absolutamente nenhuma evidência de ganho de desempenho com o arquivo de paginação ativado, mas vi perda de desempenho ao tentar usar qualquer aplicativo que ele escolhe para paginar. atraso.

A resposta clara que dou à questão de qual caminho seguir é se a estabilidade do sistema é seu objetivo principal, manter o arquivo de paginação ativado e configurá-lo para pelo menos 8 GB de tamanho. Se o seu objetivo é desempenho, e especialmente se você tiver pelo menos 32 GB de RAM, desative o arquivo de paginação.

informação relacionada