A questão de desabilitar o arquivo de paginação do Windows já foi discutido um pouco, por exemplo, aqui e aqui e aqui . As pessoas continuam votando com respostas que dizem " você não deve desativar o arquivo de paginação, mesmo que tenha bastante RAM ", mas ainda não vi nenhuma razão concreta e verificável sendo fornecida para esse conselho. Tanto quanto eu posso ver, se você nunca precisar ler o arquivo de paginação (porque você tem RAM suficiente), o desempenho só poderá ser pior com ele ativado, devido à gravação preventiva do Windows. Na melhor das hipóteses, o desempenho seria o mesmo. Não vejo como isso poderia ser melhorado escrevendo dados que você nunca precisa ler.
Então, minha pergunta é:
Supondo que eu tenha RAM física suficiente para tudo o que faço, existe algum motivo para não desabilitar o arquivo de paginação?
Digamos que a versão do Windows seja o Windows XP x64 SP2 ou o Windows Server 2003 x64 SP2 (a mesma coisa). Se for diferente para o Windows Server 2008 x64, também estaria interessado em receber uma resposta. Estou procurando razões específicas e objetivas de boas fontes, não apenas opiniões. Algo como "aqui estão os benchmarks feitos com e sem um arquivo de paginação e os resultados foram melhores com um arquivo de paginação, mesmo com RAM suficiente" ou "de acordo com este artigo do MS KB, o problema X ocorre se você desativar o arquivo de paginação".
Até agora, as únicas razões que vi mencionadas são:
- Mesmo se você acha que tem RAM suficiente, pode acabar. OK, mas, para os fins desta pergunta, vamos considerar que tenho o suficiente. Talvez eu só tenha lido meu e-mail e tenha 16 GB de RAM. Ou 128GB. Ou 1 TB. Ou o que for - mas é suficiente para 100% do que faço, 100% do tempo. Outra maneira de pensar é: se eu tiver x MB de RAM física e y MB de arquivo de paginação e nunca ficar sem RAM nessa configuração, não seria melhor, em termos de desempenho, com x + y MB de RAM física e nenhuma arquivo de paginação?
- O Windows está "acostumado a" ter um arquivo de paginação e pode não funcionar de maneira confiável (em Entendendo o impacto da RAM no desempenho geral do sistema Isso é bastante vago e acho difícil de acreditar, pois a MS forneceu a opção de desativar o arquivo de paginação .
- O Windows sabe o que está fazendo melhor do que você. Não - ele não sabe que não executarei mais programas ou carregarei mais dados, mas sim.
Respostas:
Esta é uma micro-otimização. O ponto é que não há razão para fazê-lo, em algo semelhante à operação normal. Isso poderia machucá-lo facilmente se o seu padrão de uso mudar.
Em casos especializados, pode fazer sentido, como se não houvesse disco gravável local.
fonte
Há muitos motivos para manter o arquivo de paginação, mesmo que você possa colocar tudo na RAM.
A resposta no SF tem 125 votos positivos e vincula muitos artigos confiáveis. Confira:
https://serverfault.com/questions/23621/any-benefit-or-detriment-from-removing-a-pagefile-on-an-8gb-ram-machine/23684#23684
fonte
A partir deste link:
Aqui está um link para a opinião de Jeff Atwood .
fonte
Estou usando um laptop de 32 bits do Windows XP SP3 Professional com 4 GB de RAM (o Windows 'oficialmente' reconhece apenas 3 GB) há mais de um ano sem um arquivo de paginação. As pessoas em meus círculos também continuavam tentando me assustar por não ter feito isso.
Uso aplicativos que consomem muita memória - em um determinado momento, tenho pelo menos duas máquinas virtuais (vmware) nas quais estão configuradas para executar 100% na RAM, tenho pelo menos uma instância do Visual Studio (que possui muitos de complementos instalados), SQL Server e vários aplicativos "pequenos", como email, IM, IE etc.
Além de tudo isso, também tenho um Ramdisk permanente de 256 MB. De vez em quando, eu uso o Adobe Photoshop, enquanto os demais aplicativos estão em execução. E também jogo vários jogos, incluindo Quake3, Neverwinter Nights, Oblivion.
E eu não tenho nenhum problema.
Nota para BlueNovember: nosso amigo pediu muito gentilmente por razões objetivas. Portanto, declarações como "suspeito ..." não são justificadas. Por favor, descubra antes de postar! A hibernação não tem nada a ver com paginação. Ele usa um arquivo separado chamado hiberfil.sys e você pode hibernar sem um arquivo de paginação.
PS: Desculpe cara, eu me recuso a voltar para uma configuração 'normal' para que eu possa realmente avaliar o quão mais rápida essa configuração é, mas apenas ter que ver muito menos dessa atividade no disco rígido levou a tremulação é muito reconfortante. Eu desativaria o arquivo de paginação apenas por isso, se nada mais, pois pelo menos o seu computador "se sente" mais rápido quando o LED do HDD não está piscando constantemente.
O único motivo para não desabilitar o arquivo de paginação é se você estiver usando o Monitor de Desempenho (PerfMon), pois isso depende do arquivo de paginação e requer um arquivo de paginação de no mínimo 2 MB ou os contadores estarão ausentes para os seguintes objetos: Cache, Memória, Objetos, Processador e sistema.
fonte
Acredito que se você não tiver um arquivo de paginação, no caso de um BSOD, o Windows não poderá escrever o minidump. Isso significa que você não poderá analisar o problema usando as ferramentas apropriadas.
Isso pode não incomodá-lo se você não estiver enfrentando BSODs e certamente poderá recriar o arquivo de paginação rapidamente, mas por que não estar preparado?
fonte
A melhor razão que encontrei é que o arquivo de paginação permite que o Windows use mais RAM física para o cache do disco, o que pode ser melhor para ele do que as páginas de memória raramente usadas. Mark Russinovich tem um ótimo artigo, Empurrando os limites do Windows: memória virtual , que diz:
fonte
Estou executando o Windows XP com 4 GB (3,5 GB utilizáveis) de RAM. Preciso executar o Visual Studio 2008, que requer muita memória. Geralmente, tenho de 3 a 4 instâncias abertas, cada uma ocupando 500 MB ou mais de memória.
Fiquei realmente irritado com isso, porque sempre que eu precisava fechar rapidamente todas as instâncias do Visual Studio, o Windows levava uma eternidade para fechar as instâncias. Demorou 3 minutos ou mais. Percebi que o que estava acontecendo era que as instâncias do Visual Studio eram paginadas da RAM para o arquivo de paginação, mesmo que houvesse muita memória disponível. Ao fechar o aplicativo, ele carregaria todos os dados paginados de volta na RAM e depois o desligaria. Essencialmente, ele copiava 2 GB de dados do disco na memória antes de desligar as instâncias.
Depois de desativar a paginação, notei um enorme aumento de desempenho ao desligar várias instâncias do Visual Studio. Seria necessário 100% da CPU por alguns segundos e desapareceria. Agora é possível desligar o Windows em menos de um minuto, e não em muitos minutos.
No entanto, não notei nenhum aumento de desempenho ao iniciar aplicativos, o que faz sentido, pois os dados ainda precisam ser lidos do disco na inicialização. Além disso, sinto que as coisas geralmente são mais rápidas com a paginação desativada.
Além disso, eu só encontrei programas com falha devido à memória insuficiente apenas algumas vezes por ano. Normalmente, se eu abrir muitos programas, ou um programa enlouquece e começa a alocar memória como um louco.
Em resumo, estou muito feliz com a paginação desativada. O gerenciamento de memória no Windows é bastante terrível. Para aqueles que estão familiarizados com as configurações de memória e estão cientes dos possíveis problemas, eu recomendaria isso.
fonte
Ao contrário da opinião popular, o arquivo de paginação não é simplesmente uma alternativa barata, mas lenta à memória física. Foi projetado para permitir o uso ideal da RAM que você possui.
Mesmo com 4 GB de RAM, você provavelmente não tem o suficiente para manter tudo na memória. Nada no Gerenciador de tarefas revelará isso. Sabendo disso, os designers do Windows criaram um sistema em que o código executável só era trazido para a memória quando necessário e depois retido pelo maior tempo possível. Se o sistema encontrar uma melhor utilização da memória assim utilizada, ela será reatribuída. Este sistema é usado pela Microsoft desde o NT3.1, lançado em 1993. Ele tem sido utilizado regularmente em grandes sistemas desde a década de 1960.
Este sistema funciona bem para a maioria das formas de código executável. Mas os dados modificados devem ser gravados em algum lugar, o arquivo de paginação, antes que a memória usada possa ser reatribuída. O arquivo de paginação normalmente não é usado para armazenar código, apenas dados. Ser capaz de paginar o código e os dados fornece ao sistema flexibilidade no que deve ser paginado quando necessário. Desabilitar o arquivo de paginação significa que apenas a memória usada para armazenamento de código pode ser reatribuída. Todos os dados modificados, mesmo aqueles que não foram acessados por um longo tempo e podem não ser necessários novamente, devem permanecer perpetuamente na RAM. Mas a paginação do código continuará como antes. A falta de um arquivo de paginação, ou de um arquivo muito pequeno, desequilibra o sistema e força o Windows a paginar de maneira subótima. Isso geralmente prejudica o desempenho.
fonte
Se o seu ram atingir o máximo de um ou mais programas que solicitaram a memória, provavelmente ocorrerá uma falha abrupta.
Esse risco superará qualquer ganho de desempenho que você possa obter.
fonte
Minhas sugestões são manter o arquivo de paginação, mas corrigi-lo manualmente para um tamanho pequeno, como 128 MB, no disco do sistema.
O motivo é prático: o Windows realmente espera que exista um arquivo de troca e, na maioria das vezes, cria um arquivo auto-gerenciado temporário se nenhum for encontrado, o que inviabiliza a desativação.
Além disso, ele silenciosamente falhará ou se comportará mal em algumas operações, como BSODing, contadores de desempenho, suspender / retomar / hibernar e, de alguma forma, sofrer a estabilidade do sistema. Tudo isso com base na minha experiência, e todos eles foram embora com um pequeno arquivo de paginação.
Observe que o arquivo de troca provavelmente será preenchido nos primeiros minutos de execução, para nunca mais ser tocado novamente na maioria dos casos, para que você não sofra o arquivo de troca de penalidade de acesso a disco usual. Você PODE receber um alerta "você está ficando sem memória" em breve na sua sessão, que pode ser ignorado com segurança (sim, a troca está cheia, e daí?)
(Também não gosto muito de buscar demais e deixo a memória livre para efeitos de cache)
fonte
Uma resposta que não foi mencionada foi que o Windows usa o arquivo de paginação para armazenar despejos de memória. A função que exibe a tela azul do computador grava o despejo de memória diretamente nos setores do disco que contém o arquivo de paginação (ignorando o driver do sistema de arquivos no qual o Windows, no momento, não pode confiar).
Sem um arquivo de paginação, você não pode obter informações de despejo de memória. Além disso, o arquivo de paginação não o prejudica se você não o usar. Portanto, fora de um conjunto muito limitado de cenários, não há motivo para desativá-lo.
fonte
Por favor, pense no SuperFetch carregando sua memória restante com o cache , então fica claro por que não devemos desativar o arquivo de paginação. Tarefas seriais (como a multitarefa é ruim) e o início do aplicativo em cache são realmente úteis, por isso é bom que o SuperFetch funcione às custas da paginação.
fonte
Se sua pergunta foi:
e você disse que sim, então tudo bem.
Os ambientes incorporados são provavelmente onde essa teria a maior chance de aplicação, como uma instalação do sistema operacional de caixa registradora.
fonte
A resposta simples é que o Windows se torna terrível se ficar sem memória.
As coisas se tornam agonizantemente lentas.
Muitos pacotes de software têm vazamentos de memória que consomem lentamente a RAM disponível.
Além disso, o Windows usa parte da sua RAM como cache dos discos rígidos.
A menos que você realmente tenha muito mais RAM do que precisa, isso acabará sendo um problema.
fonte
Arquivo de paginação
Eu corro XP de 32 bits com 4 GB de memória (eu sei, o XP vê apenas 3 GB disso, mas é intercalado e muito rápido) e gostaria de fazer dois pontos:
O XP pode ver apenas 3 GB de memória. Quando minha máquina já possui isso, qual é o sentido de um arquivo de paginação? Está reservando memória de disco que nunca pode acessar. A menos que desative alguma RAM. Portanto, você gastou sua suada memória, com o máximo de dólares, apenas para descobrir que o XP está namorando um disco.
Se você estiver executando o XP de 32 bits e tiver 4 GB de memória, tente este experimento: Desative o arquivo de paginação. Reinicie o XP. Exclua o arquivo de paginação. Execute alguns programas, Word, Excel, Chrome, IE Ex, assista a um filme, transmita música ou TV. Tudo deve funcionar bem. Ative o arquivo de paginação novamente, desta vez com um tamanho muito pequeno, digamos 25 MB. Reinicie o XP. Execute alguns programas, Word, Excel, Chrome, IE Ex, assista a um filme, transmita música ou TV. Em breve, você receberá uma mensagem de que está ficando sem memória virtual. Isso prova que o XP usa o arquivo de paginação, mesmo quando não é necessário. Verifique a guia de desempenho do gerenciador de tarefas (alt ctrl del). O pico estará bem abaixo da memória física total; então, por que o XP está usando o arquivo de paginação? E por que o XP acha que você está ficando sem memória?
O arquivo de paginação é um anacronismo dos dias do DOS e do Windows 98. Se você tiver memória suficiente, livre-se dele.
fonte