Qualquer motivo para não desabilitar o arquivo de paginação do Windows com RAM física suficiente?

35

A questão de desabilitar o arquivo de paginação do Windows já foi discutida bastante, por exemplo aqui e aqui e aqui . As pessoas continuam a votar as respostas que dizem " você não deve desabilitar o seu arquivo de paginação, mesmo se você tiver muita RAM ", mas eu ainda não vi nenhuma razão concreta e verificável para este conselho. Tanto quanto eu posso ver, se você nunca precisa ler a partir do arquivo de paginação (porque você tem RAM suficiente), então o desempenho só poderia ser pior com ele habilitado devido ao Windows escrever com antecedência. Na melhor das hipóteses, o desempenho seria o mesmo. Não consigo ver 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, há algum motivo para eu 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 (mesma coisa). Se for diferente para o Windows Server 2008 x64, eu estaria interessado em ouvir uma resposta para isso também. 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 problema de artigo do MS KB X ocorre se você desabilitar o arquivo de paginação".

Até agora, as únicas razões que vi mencionadas são:

  • Mesmo se você achar que você tem memória RAM suficiente, você pode acabar. OK, mas para os propósitos desta questão, vamos considerar que tenho o suficiente. Talvez eu só tenha lido meu e-mail e tenha 16GB de RAM. Ou 128 GB. Ou 1 TB. Ou o que for - mas é o suficiente para 100% do que eu faço, 100% do tempo. Outra maneira de pensar sobre isso é: se eu tiver x MB física RAM e y MB arquivo de paginação e nunca ficar sem memória RAM nessa configuração, não seria melhor , desempenho-sábio, com x + y MB físico RAM e nenhum arquivo de paginação?
  • O Windows está "acostumado a" ter um arquivo de paginação e pode não funcionar como confiável (de Entendendo o impacto da RAM no desempenho geral do sistema Isso é bastante vago e acho difícil de acreditar, dado que a MS forneceu a opção de desabilitar 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 vou rodar mais programas ou carregar mais dados, mas eu sei.
por EMP 27.08.2009 / 01:33

13 respostas

15

Esta é uma micro otimização. O ponto é que não há razão para fazer , em qualquer coisa que se pareça com a operação normal. Pode facilmente prejudicá-lo se o seu padrão de uso mudar.

Em casos especializados, pode fazer sentido, como se não houvesse um disco gravável local.

    
por 27.08.2009 / 03:29
8

Existem muitas razões para manter o arquivo de paginação, mesmo que você possa colocar tudo na memória RAM.

A resposta sobre SF tem 125 votos positivos e liga muitos artigos credíveis. Confira:

link

    
por 10.09.2009 / 05:03
8

Deste link:

NOTE: Microsoft strongly recommends that you do NOT disable or delete the paging file.

To disable the use of the paging file in Windows XP, you should have at least 768MB of RAM.

Veja um link para Jeff Atwood . p>     

por 27.08.2009 / 01:39
6

Estou usando um laptop de 32 bits do Windows XP SP3 Professional com 4 GB de RAM (o Windows 'oficialmente' reconhece apenas 3 GB dele) há mais de um ano sem um arquivo de paginação. As pessoas em meus círculos também continuaram tentando me assustar que eu não deveria ter feito isso.

Eu uso muito aplicativos com uso intensivo de memória - em qualquer ponto no tempo, tenho pelo menos duas máquinas virtuais (VMware) nas quais são configuradas para executar 100% na RAM, tenho pelo menos uma instância do Visual Studio ( que tem muitos add-ons instalados), o SQL Server e vários aplicativos 'pequenos' como e-mail, mensagens instantâneas, IE, etc.

Além de tudo isso, eu também tenho um Ramdisk permanente de 256 MB. De vez em quando, eu uso o Adobe Photoshop, enquanto o resto dos aplicativos estão sendo executados. E eu também jogo vários jogos, incluindo Quake3, Neverwinter Nights, Oblivion.

E eu não tenho problemas.

Nota para a BlueNovember: nosso amigo gentilmente pediu por razões objetivas. Então, declarações como "eu suspeito ..." são injustificadas. 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 a uma configuração 'normal' para que eu possa realmente avaliar o quanto essa configuração é mais rápida, mas apenas ter que ver muito menos atividade do disco rígido levou a tremer é muito reconfortante . Eu desativaria o arquivo de paginação apenas para isso, se nada mais, porque pelo menos o seu computador 'sente' mais rápido quando o LED do HDD não está piscando constantemente.

A ÚNICA razão para não desativar 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 mínimo de 2 MB ou os contadores estarão ausentes seguintes objetos: Cache, Memória, Objetos, Processador e Sistema.

    
por 10.09.2009 / 04:42
4

Acredito que, se você não tiver um arquivo de paginação, no caso de um BSOD, o Windows não poderá gravar 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 tendo BSODs, e certamente pode recriar o arquivo de paginação com rapidez suficiente, mas por que não estar preparado?

    
por 10.09.2009 / 08:24
4

A melhor razão que descobri é que o arquivo de paginação permite que o Windows use mais RAM física para o cache de disco, o que pode ser um melhor uso para ele do que as páginas de memória raramente usadas. Mark Russinovich tem um ótimo artigo sobre isso, Empurrando os limites do Windows: memória virtual , que diz:

Some feel having no paging file results in better performance, but in general, having a paging file means Windows can write pages on the modified list (which represent pages that aren’t being accessed actively but have not been saved to disk) out to the paging file, thus making that memory available for more useful purposes (processes or file cache). So while there may be some workloads that perform better with no paging file, in general having one will mean more usable memory being available to the system (never mind that Windows won’t be able to write kernel crash dumps without a paging file sized large enough to hold them).

    
por 26.10.2010 / 00:38
3

Estou executando o Windows XP com 4 GB (3,5 GB utilizável) de RAM. Eu preciso executar o Visual Studio 2008, que requer muita memória. Muitas vezes tenho de 3 a 4 instâncias abertas, cada uma ocupando 500MB ou mais de memória.

Fiquei muito 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 fora da RAM e no arquivo de paginação, mesmo que houvesse bastante memória disponível. Ao fechar o aplicativo, ele carregaria todos os dados paginados de volta na RAM e, em seguida, desligaria. Essencialmente, ele copiaria 2 GB de dados do disco para a memória antes de encerrar as instâncias.

Depois de desativar a paginação, notei um grande aumento de desempenho ao encerrar várias instâncias do Visual Studio. Isso levaria 100% da CPU por alguns segundos e depois desapareceria. Desligar o Windows agora é possível bem menos de um minuto, em vez de muitos minutos.

No entanto, não notei nenhum aumento de desempenho ao iniciar aplicativos, o que faz sentido, já que os dados ainda devem ser lidos do disco na inicialização. Além disso, eu sinto que as coisas são geralmente mais agitadas com a paginação desativada.

Além disso, só me deparo com programas em pane devido a memória insuficiente apenas algumas vezes por ano. Normalmente, se eu abrir muitos programas, ou um programa enlouquecer e começar a alocar memória como um louco.

Em resumo, estou muito feliz com a paginação desativada. Gerenciamento de memória no Windows é bastante terrível. Para aqueles que estão confortáveis em mexer nas configurações de memória e estão cientes dos possíveis problemas, eu recomendaria fazer isso.

    
por 28.01.2011 / 14:13
2

Ao contrário da opinião popular, o arquivo de paginação não é simplesmente uma alternativa barata, mas lenta, à memória física. Ele foi projetado para permitir o uso ideal da RAM que você tem.

Mesmo com 4GB de RAM, você provavelmente não tem o suficiente para manter tudo na memória. Nada no Gerenciador de Tarefas irá revelar isso. Sabendo disso, os designers do Windows criaram um sistema onde 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 um uso melhor para a memória usada, ele será reatribuído. Este sistema tem sido usado pela Microsoft desde o NT3.1, lançado em 1993. Ele tem sido usado 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 escritos em algum lugar, o arquivo de paginação, antes que a memória usada possa ser reatribuída. O arquivo de paginação não é normalmente usado para armazenar código, apenas dados. Ser capaz de eliminar tanto o código quanto os dados dá ao sistema flexibilidade no que deve ser paginado quando necessário. Desativar o arquivo de paginação significa que somente 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 que seja muito pequeno, desequilibra o sistema e força o Windows a paginar de uma maneira insuficiente. Isso geralmente prejudica o desempenho.

    
por 19.07.2010 / 17:31
1

Se o seu ram exceder um ou mais dos programas que solicitaram a memória provavelmente irá falhar abruptamente.

Esse risco superará qualquer ganho de desempenho que você possa obter.

    
por 27.08.2009 / 01:54
1

Minha sugestão é manter o arquivo da página, mas corrigi-lo manualmente em um tamanho pequeno, como 128 MB, no disco do sistema.

O motivo é prático: o Windows realmente espera que exista um arquivo de permuta, e na maioria das vezes cria um arquivo temporário auto-gerenciado se nenhum for encontrado, anulando assim qualquer conveniência em desabilitá-lo.

Além disso, ele falhará silenciosamente ou se comportará mal em algumas operações, como BSODing, contadores de desempenho, suspend / resume / hibernate e, de alguma forma, a estabilidade do sistema sofrerá. 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, portanto você não sofrerá o incidente do arquivo de troca de penalidade de acesso ao disco usual. Você pode receber um alerta "você está ficando sem memória" em breve em sua sessão, que você pode ignorar com segurança (sim, a troca está cheia, e daí?)

(Eu também não gosto muito do superfetch e deixo a memória livre para efeitos de cache)

    
por 25.11.2009 / 16:31
0

Por favor, pense no SuperFetch carregando sua memória restante com o cache , então fica claro por que não devemos desabilitar o arquivo da página. Tarefas seriais (como multitarefa é ruim) e inicializações de aplicativos em cache são realmente úteis, então é bom ter o SuperFetch funcionando ao custo da paginação.

    
por 11.09.2009 / 00:57
0

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 telas azuis o computador grava o despejo de memória diretamente nos setores no disco que contém o arquivo de paginação (ignorando o driver do sistema de arquivos que 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 usá-lo, portanto, fora de um conjunto muito limitado de cenários, não há motivo para desativá-lo.

    
por 30.12.2017 / 02:12
-1

arquivo de paginação

Eu executo o XP de 32 bits com 4 GB de memória (eu sei, o XP só vê 3 GB disso, mas ele é intercalado e muito rápido) e gostaria de fazer dois pontos:

O XP só pode ver 3 GB de memória. Quando minha máquina já tem isso, qual é o sentido de um arquivo de paginação? Está reservando memória de disco que nunca pode acessar. A menos que desabilite alguma RAM. Então você gastou o seu suado, na memória mais alta, apenas para descobrir que o XP está namorando o disco.

Se você estiver executando o XP 32 bits e tiver 4 GB de memória, tente este experimento: Desativar o arquivo de paginação. Reinicie o XP. Exclua o arquivo de paginação. Execute alguns progs, Word, Excel, Chrome, IE Ex, assistir a um filme, transmitir música ou TV. Tudo deve funcionar bem. Volte a ligar o ficheiro de paginação, desta vez com um tamanho muito pequeno, digamos 25 MB. Reinicie o XP. Execute alguns progs, Word, Excel, Chrome, IE Ex, assistir a um filme, transmitir música ou TV. Você logo 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 precisa. 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ê tem memória suficiente, livre-se dele.

    
por 09.09.2010 / 04:27