Respostas:
Versão TL; DR: deixe o Windows manipular suas configurações de memória / arquivo de paginação. As pessoas na MS passaram muito mais horas pensando sobre esses problemas do que a maioria de nós, administradores de sistemas.
Muitas pessoas parecem assumir que o Windows envia dados para o arquivo de paginação sob demanda. Por exemplo: algo quer muita memória e não há RAM suficiente para suprir a necessidade, então o Windows começa a gravar loucamente dados da RAM no disco neste último minuto, para que possa liberar RAM para as novas demandas.
Isto está incorreto. Há mais coisas acontecendo sob o capô. De um modo geral, o Windows mantém uma loja de apoio , o que significa que deseja ver tudo o que está na memória também no disco em algum lugar. Agora, quando algo surge e exige muita memória, o Windows pode limpar a RAM muito rapidamente, porque esses dados já estão no disco, prontos para serem retornados à paginação na RAM, se necessário. Portanto, pode-se dizer que muito do que está no arquivo de paginação também está na RAM; os dados foram preemptivamente colocados no arquivo de paginação para acelerar novas demandas de alocação de memória.
A descrição dos mecanismos específicos envolvidos exigiria muitas páginas (consulte o capítulo 7 do Windows Internals e observe que uma nova edição estará disponível em breve), mas há algumas coisas interessantes a serem observadas. Primeiro, grande parte do conteúdo da RAM já está intrinsecamente no disco - o código do programa é obtido de um arquivo executável ou de uma DLL, por exemplo. Portanto, isso não precisa ser gravado no arquivo de paginação; O Windows pode simplesmente acompanhar de onde os bits foram originalmente buscados. Segundo, o Windows controla quais dados na RAM são usados com mais frequência e, portanto, limpa da RAM os dados que foram mais longos sem serem acessados.
Remover completamente o arquivo de paginação pode causar mais problemas no disco. Imagine um cenário simples em que alguns aplicativos iniciem e exijam 80% da RAM existente. Isso forçaria o código executável atual a sair da RAM - possivelmente até o código do SO. Agora, toda vez que esses outros aplicativos - ou o próprio sistema operacional (!!) precisarem acessar esses dados, o sistema operacional deverá paginá-los no armazenamento de backup em disco, o que leva a muitos problemas. Como sem o arquivo de paginação para servir como repositório de dados transitórios, as únicas coisas que podem ser paginadas são os executáveis e as DLLs que possuíam repositórios de backup inerentes para começar.
Obviamente, existem muitos cenários de recursos / utilização. Não é impossível que você tenha um dos cenários em que não haveria efeitos adversos na remoção do arquivo de paginação, mas essas são as minorias. Na maioria dos casos, remover ou reduzir o arquivo de paginação levará a um desempenho reduzido em cenários de pico de utilização de recursos.
Algumas referências:
O dmo observou um post recente de Eric Lippert que ajuda no entendimento da memória virtual (embora esteja menos relacionado à questão). Estou colocando aqui porque suspeito que algumas pessoas não vão rolar para outras respostas - mas se você achar que é valioso, você deve votar na dmo , então use o link para chegar lá!
Eric Lippert escreveu recentemente uma entrada de blog descrevendo como o Windows gerencia a memória. Em resumo, o modelo de memória do Windows pode ser pensado como um armazenamento de disco em que a RAM atua como um cache de aprimoramento de desempenho.
Como vejo em outras respostas, sou o único que desabilitou o arquivo de paginação e nunca me arrependi. Ótimo :-)
Em casa e no trabalho, tenho o Vista de 64 bits com 8 GB de RAM. Ambos têm o arquivo de paginação desativado. No trabalho, não é incomum para mim ter poucas instâncias do Visual Studio 2008, Virtual PC com Windows XP, duas instâncias do SQL Server e Internet Explorer 8 com várias guias trabalhando juntas. Eu raramente alcanço 80% da memória.
Eu também estou usando sono híbrido todos os dias (hibernação com sono) sem problemas.
Comecei a experimentar com o Windows XP com 2 GB de RAM e realmente vi a diferença. Exemplo clássico foi quando os ícones no Painel de Controle pararam de se mostrar um após o outro, mas de uma só vez. Também o tempo de inicialização do Firefox / Thunderbird aumentou drasticamente. Tudo começou a funcionar imediatamente depois que eu cliquei em algo. Infelizmente, 2 GB eram muito pequenos para o uso de meus aplicativos (Visual Studio 2008, Virtual PC e SQL Server), então eu o habilitei novamente.
Mas agora, com 8 GB, nunca mais quero voltar e ativar o arquivo de paginação.
Para aqueles que estão dizendo sobre casos extremos, pegue este nos meus tempos do Windows XP.
Quando você está tentando carregar uma tabela dinâmica grande no Excel a partir de uma consulta SQL, o Excel 2000 aumenta seu uso de memória rapidamente.
Quando o arquivo de paginação está desabilitado - você espera um pouco e o Excel explode e o sistema limpa toda a memória depois dele.
Quando o arquivo de paginação está ativado - você espera um pouco e quando percebe que algo está errado, você pode fazer quase nada com o seu sistema. Seu HD está funcionando como o inferno e, mesmo que você consiga executar o Gerenciador de Tarefas (após alguns minutos de espera) e matá- excel.exe
lo, aguarde alguns minutos até que o sistema carregue tudo de volta no arquivo de paginação.
Como vi mais adiante, o Excel 2003 lida com a mesma tabela dinâmica sem problemas com o arquivo de paginação desativado - portanto, não era um "problema muito grande no conjunto de dados".
Então, na minha opinião, um arquivo de página desativado até protege você de aplicativos mal escritos.
Em pouco tempo: se você estiver ciente do uso de memória - poderá desativá-lo com segurança.
Editar: Eu só quero adicionar que eu instalei o Windows Vista SP2 sem problemas.
Você pode fazer algumas medições para entender como seu próprio sistema está usando memória antes de fazer ajustes no arquivo de paginação. Ou (se você ainda deseja fazer ajustes), antes e depois dos ajustes.
Perfmon é a ferramenta para isso; não Gerenciador de tarefas. Um contador de teclas é Memória - Entrada de páginas / s . Isto irá especificamente gráfico duras faltas de página, aqueles em que uma leitura do disco é necessária antes que um processo pode continuar. Macio falhas de página (que são a maioria dos itens representados graficamente no padrão falhas de página / seg balcão;! Eu recomendo ignorar esse contador) não são realmente um problema; eles simplesmente mostram itens sendo lidos da RAM normalmente.
Gráfico Perfmon http://g.imagehost.org/0383/perfmon-paging.png
Acima está um exemplo de um sistema sem preocupações, em termos de memória. Ocasionalmente, há um pico de falhas no disco rígido - elas não podem ser evitadas, pois os discos rígidos são sempre maiores que a RAM. Mas o gráfico é bastante plano em zero. Portanto, o sistema operacional está paginando do armazenamento de backup muito raramente.
Se você estiver vendo um gráfico Memória - Entrada de páginas / s que é muito mais pontudo que este, a resposta certa é diminuir a utilização da memória (executar menos programas) ou adicionar RAM. Alterar as configurações do arquivo de paginação não mudaria o fato de que mais memória está sendo exigida do sistema do que realmente tem.
Um contador adicional útil para monitorar é o PhysicalDisk - Avg. Comprimento da fila (todas as instâncias). Isso mostrará o quanto suas alterações afetam o uso do disco. Um sistema bem comportado mostrará esse contador com uma média de 4 ou menos por eixo .
Eu corro minha caixa x64 Vista de 8 GB sem um arquivo de paginação há anos, sem problemas.
Surgiram problemas quando eu realmente usei minha memória!
Três semanas atrás, comecei a editar arquivos de imagem muito grandes (~ 2 GB) no Photoshop. Uma sessão de edição consumiu toda a minha memória. Problema: Não foi possível salvar meu trabalho, pois o Photoshop precisa de mais memória para salvar o arquivo!
E como era o próprio Photoshop, que estava consumindo toda a memória, eu não conseguia nem liberar memória fechando programas (bem, eu fiz, mas era muito pouco para ajudar).
Tudo o que pude fazer foi desfazer meu trabalho, ativar meu arquivo de paginação e refazer todo o meu trabalho - perdi muito trabalho devido a isso e não posso recomendar a desativação do seu arquivo de paginação.
Sim, funcionará muito bem na maioria das vezes. Mas no momento em que quebra, pode ser doloroso.
Embora as respostas aqui abordem o tópico muito bem, ainda assim recomendarei esta leitura:
http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx
Ele fala sobre o tamanho do PF quase no final:
Alguns acham que não ter um arquivo de paginação resulta em melhor desempenho, mas, em geral, ter um arquivo de paginação significa que o Windows pode escrever páginas na lista modificada (que representam páginas que não estão sendo acessadas ativamente, mas que não foram salvas em disco) no diretório arquivo de paginação, disponibilizando essa memória para fins mais úteis (processos ou cache de arquivos). Portanto, embora possa haver algumas cargas de trabalho com melhor desempenho sem arquivo de paginação, em geral, ter uma significará que mais memória utilizável estará disponível para o sistema (lembre-se de que o Windows não poderá gravar despejos de memória do kernel sem um arquivo de paginação com tamanho grande o suficiente para segurá-los).
Eu realmente gosto dos artigos de Mark.
A melhor resposta que consigo pensar é que, sob uma carga normal, você pode não usar os 8 GB, mas são as cargas inesperadas que você terá problemas.
Com um arquivo de paginação, o sistema funcionará pelo menos lentamente quando começar a atingir a página. Mas se você remover o arquivo de paginação, ele simplesmente morrerá (pelo que sei).
Além disso, 8 GB parecem muito agora, mas, alguns anos depois, pode ser considerada a quantidade mínima de memória para muitos softwares.
De qualquer maneira - eu recomendaria manter pelo menos um pequeno arquivo de paginação; mas outros me corrijam se eu estiver fora da base.
Você não mencionou se é uma edição de 64 bits do Windows, mas acho que sim.
O arquivo de paginação serve para muitas coisas, incluindo a geração de um despejo de memória no caso do BSoD (Blue Screen of Death).
Se você não tiver um arquivo de paginação, o Windows não poderá paginar em disco se não houver memória suficiente. Você pode pensar que, com 8 GB, não atingirá esse limite. Mas você pode ter programas ruins que vazam memória ao longo do tempo.
Eu acho que não permitirá que você fique em hibernação / espera sem um arquivo de paginação (mas ainda não tentei).
O Windows 7/2008 / Vista não altera o uso do arquivo de paginação.
Eu vi uma explicação de Mark Russinovich (Microsoft Fellow) explicando que o Windows pode ser mais lento sem um arquivo de paginação do que com um arquivo de paginação (mesmo com bastante RAM). Mas não consigo encontrar a causa raiz.
Você está sem espaço em disco? Eu manteria no mínimo 1 GB para poder ter um dump do kernel no caso de um BSoD.
Desativei meu arquivo de paginação (8 GB em um laptop x86) e tive dois problemas, mesmo com 2500 MB livres:
Erro do ASP.NET ao tentar ativar o serviço WCF : A verificação das portas da memória falhou porque a memória livre (399.556.608 bytes) é inferior a 5% da memória total. Como resultado, o serviço não estará disponível para solicitações recebidas. Para resolver isso, reduza a carga na máquina ou ajuste o valor de minFreeMemoryPercentageToActivateService no elemento de configuração serviceHostingEnvironment.
Como 3.7 GB é inferior a 5% dos 8 GB, eu nunca vou saber!
Programas Getting Close para evitar o diálogo de perda de informações : Quando 75% da minha RAM é usada, recebo uma caixa de diálogo informando para fechar os programas. Você pode desabilitar isso com uma modificação do registro (ou possivelmente desabilitando o 'Serviço de Política de Diagnóstico').
No final, decidi ligá-lo novamente. O Windows puro e simples nunca foi projetado para ser usado sem um arquivo de paginação. É otimizado para ser executado com paginação, não sem. Se você planeja usar mais de 75% da sua memória e não deseja mexer no seu registro - talvez não seja o seu caso.
A única pessoa que pode lhe dizer se seus servidores ou estações de trabalho "precisam" de um arquivo de paginação é você , com o uso cuidadoso do monitor de desempenho ou como é chamado hoje em dia. Quais aplicativos você está executando, qual uso eles estão vendo e qual é o maior uso possível de memória que você pode ver?
A estabilidade vale a pena comprometer a fim de economizar uma quantia minuciosa de dinheiro em discos rígidos menores?
O que acontece quando você baixa um patch muito grande, por exemplo, um service pack. Se o serviço de instalação decidir que precisa de mais memória do que você imaginou para descompactar o patch, e então? Se o seu antivírus decidir (corretamente) verificar esse pacote muito grande, que tipo de uso de memória será necessário enquanto descompacta e verifica esse arquivo de correção - espero que o arquivo de correção não contenha nenhum arquivo, porque isso absolutamente números de uso de memória de assassinato .
O que posso dizer é que a remoção do arquivo de paginação tem uma probabilidade muito maior de machucar do que ajudar. Não vejo uma razão para você não ter um - tenho certeza de que pode haver alguns casos especializados em que estou errado nesse caso, mas essa é outra área.
Sua memória total disponível é seu arquivo de paginação + memória real.
A principal questão é se o uso total previsto de memória para todos os aplicativos e o uso do sistema operacional se aproxima de 8 GB. Se o uso médio de mem for 2 GB e o máximo de memória for de 4 GB, não será possível ter um arquivo de paginação. Se o uso máximo de memória estiver próximo de 6 a 7 Gb ou mais, é recomendável ter um arquivo de paginação.
PS: Não se esqueça de permitir o crescimento no futuro!
Parece que muitas pessoas severamente limitadas têm uma opinião sobre esse assunto, mas nunca tentaram executar o computador sem um arquivo de paginação.
Poucos, se quase nenhum, tentaram. Menos ainda parecem saber como o Windows trata o arquivo de paginação. Não "apenas" enche quando você fica sem memória RAM física. Aposto que a maioria de vocês nem sabia que sua RAM "grátis" é usada como cache de arquivos!
Você pode obter grandes melhorias de desempenho desativando o arquivo de paginação. Seu sistema ficará mais suscetível a erros de falta de memória (e você sabe como seus aplicativos respondem nesse cenário - na maioria das vezes o sistema operacional finaliza o aplicativo). Os tempos de inicialização dos períodos de espera ou inativos longos serão muito mais rápidos.
Se a Microsoft realmente permitir que você defina uma opção pela qual o arquivo de paginação SOMENTE seja usado quando a RAM física estiver fora da memória (e todos os buffers de arquivo foram descartados), eu pensaria que havia pouco a ganhar ao desativar o arquivo de paginação.
Isso é antidotal, mas executamos um Windows Server 2003 Terminal Server para cerca de 20 usuários, com 10 a 15 logins por vez e com 8 GB de RAM. Não executamos com um arquivo de paginação e nosso servidor é executado mais rapidamente do que antes. Obviamente, isso não é uma solução para tudo, mas funcionamos dessa maneira há dois anos e não tivemos problemas que eu saiba.