Troca do Windows (arquivo de paginação): ativar ou desativar?

28

Pela minha experiência pessoal, notei que desabilitar o arquivo de paginação no Windows XP me proporcionou, em geral, o maior ganho de velocidade de qualquer outra alteração de software que eu possa fazer. Obviamente, isso deve ser feito quando uma quantidade significativa de RAM estiver disponível. Normalmente, acho que funciona bem com + 2 GB de RAM. Os únicos problemas que já tive foram carregar o Adobe Photoshop.

Isso realmente melhora a velocidade ou estou imaginando isso?

Nota: Para realmente desativá-lo, você não deve apenas defini-lo como 0MB, mas desativá-lo. Caso contrário, o Windows apenas o expandirá quando necessário para atender às suas necessidades.

Joe Phillips
fonte
9
Atenção: Há apenas uma quantidade limitada de memória fornecida aos drivers, denominada seções de memória non-pagede pagedpool . É necessário um arquivo de paginação para quando a seção paginada ficar cheia, como jogador, vi um jogo reclamar sobre a memória do pool paginável apenas porque meu arquivo de paginação foi desativado em um sistema de 8 GB. Conclusão: os arquivos de paginação são necessários, impedem o esgotamento do conjunto de páginas e realmente aceleram o sistema.
Tamara Wijsman

Respostas:

18

O Windows XP libera aplicativos minimizados para o disco como um louco .. tente você mesmo, comece a baixar um torrent grande e minimize tudo. Logo, quase toda a sua RAM é usada como cache de arquivos para o torrent, em vez de outros aplicativos. Desabilitar o arquivo de paginação impedirá esse comportamento.

No Windows Vista e Windows 7, porém, o sistema lida com esse cenário muito, muito melhor. Portanto, não tenho certeza de que desabilitar o arquivo de paginação nessas versões fará muita diferença.

Alguns jogos exigem que você tenha um arquivo de paginação, mesmo quando não é realmente necessário, notei isso recentemente ao tentar reproduzir uma demo de jogo que baixei do Steam. Mesmo que eu tinha 6 GB de RAM disponível o jogo recusou-se a iniciar até que eu criei um pequeno, minúsculo arquivo de página .. suspiro

Pessoalmente, quando tenho bastante RAM, prefiro ficar sem um arquivo de paginação.

zidar
fonte
Estou sem um arquivo de paginação no WinXP desde que fiz essa pergunta e tem sido ótimo. Ainda não experimentei no Win7, portanto não posso dizer se valeria a pena para as versões mais recentes do Windows.
Joe Phillips
Eu tentei no Win7 e não tive uma ótima experiência. Desde SSDs não estão disponíveis, faz sentido ter apenas um arquivo de página
Joe Phillips
Ter um arquivo de paginação ou não não tem nada diretamente a ver com o comportamento do cache de arquivos.
precisa
25

Não mexa com isso, deixe o Windows descobrir a si mesmo.

Esta resposta ServerFault é a explicação mais excelente do porquê:

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.

O punchline:

Remover completamente o arquivo de paginação pode causar mais problemas no disco.

Fator Místico
fonte
12
Como a remoção do arquivo de paginação causaria QUALQUER falha de disco? Se alguma coisa deve parar de se debater. O Windows emitirá um erro se ficar sem RAM - não vai decidir usar a troca se estiver desativado.
31410 Joe Phillips
2
d03boy, leia o post do SF. Se você precisar mover a memória do processo ativo da RAM, isso causará MUITO mais atividade no disco.
Factor Mystic
3
@ d03boy: A resposta está na postagem vinculada. Basicamente, se você usar muita RAM, o HD será usado de alguma forma. Se você remover o arquivo de paginação, o HD ainda será usado para armazenar potencialmente o código do programa (simplesmente lendo-o dos arquivos originais sob demanda) quando mais RAM precisar ser alocada.
295
1
@Factor, o Windows simplesmente gera um erro se usar muita RAM física. Ele não vai mover qualquer coisa fora da RAM AFAIK @Darth, o posto ligado faz parecer que ele está fazendo isso se a paginação está ligado ou desligado de qualquer maneira
Joe Phillips
2
Isso não é verdade para o Windows XP, porém, o Windows XP possui um gerenciamento de memória horrível. Leia minha resposta.
Zidar
7

da microsoft answer "desativar arquivo de troca"

http://social.answers.microsoft.com/Forums/en-US/w7performance/thread/0/0aa75c-2607-4468-8342-c35ea82ea670

Ken Blake, MVP da Microsoft

existe algum ganho de desempenho com isso? Obrigado.

Você pode? Sim. Você deveria? Não definitivamente NÃO.

Existe algum ganho de desempenho ao fazer isso? Não, e há uma possível perda de desempenho.

Primeiro de tudo, 2 GB não é muita RAM, é a quantidade mínima que a maioria das pessoas deveria ter.

Segundo, se você não possui um arquivo de paginação, não pode usar toda a RAM que possui. Isso ocorre porque o Windows pré-aloca a memória virtual em antecipação a uma possível necessidade dela, mesmo que a alocação nunca seja usada. Sem um arquivo de paginação, essa alocação deve ser feita na memória real, amarrando a memória e impedindo que ela seja usada para qualquer finalidade.

Terceiro, nunca há um benefício em não ter um arquivo de paginação. Se não for necessário, não será usado. Não confunda a memória alocada com a memória usada.

Ken Blake, MVP da Microsoft (Windows Desktop Experience) desde 2003 Ken Blake

miki
fonte
Que tal debulhar? Existe menos uso de HD se estiver desativado? Esta não parece ser a resposta completa. Para não mencionar, esta pergunta é sobre XP e esta resposta é sobre Win7
Joe Phillips
Eu não acho que o MVP esteja correto, dada a memória suficiente, você pode desativar o arquivo de troca; apenas certifique-se de não ficar sem memória.
Tamara Wijsman
1
@JoePhilllips - Não, basta colocar, se a memória de dados + a memória do programa exceder a memória do sistema sem um arquivo de paginação, o espaço disponível para os programas será reduzido para dar espaço aos dados, pois os programas sempre podem ser buscados novamente a partir dos arquivos de programas originais. Portanto, se você tiver 8 GB de memória, 6 GB de dados e 4 GB de aplicativos, seu sistema operacional terá apenas 2 GB para compartilhar entre os 4 GB de programas. Seria constantemente lendo o código e debulhando o disco. Se apenas 4 GB de dados fossem realmente necessários e você tivesse um arquivo de paginação de 2 GB para trocar o restante, o sistema operacional seria capaz de usar os outros 4 GB para os programas, portanto, sem problemas!
Mark Booth
6

Eu diria ativar .

Não importa quanta RAM você tenha, haverá cenários em que um arquivo de paginação é, no mínimo, útil. Além disso, deve-se observar que, quando há um arquivo de paginação, grande parte do tempo de execução do Windows é descarregada lá na maior parte do tempo. O motivo? Embora seja necessário na memória, não é necessário no momento . Colocá-lo no arquivo de troca pode levar mais tempo para acessar, mas deixa mais RAM livre para os programas que você está realmente usando.

A razão pela qual seu desempenho aumentou é porque você estava forçando todo o sistema a ser carregado na RAM, o que é reconhecidamente muito mais rápido. No entanto, meu palpite é que, quando você começar a usar vários programas de uma só vez, especialmente os que têm muita memória, como o Firefox e o Photoshop, essa melhoria ocorrerá imediatamente. *

No entanto, é possível que você nunca encontre esse problema simplesmente devido aos seus hábitos de computação. Sei que, se eu tentasse desativar o arquivo de paginação, não o apreciaria nem um pouco. Portanto, se você realmente quiser, tente deixá-lo desligado por um tempo e veja o que acontece, sempre será possível ativá-lo novamente mais tarde.

* "Esse parágrafo foi uma quantidade razoável de especulação" / isenção de responsabilidade;)

Sean
fonte
Agora tenho 4 GB de RAM desde que atualizei recentemente (embora o winxp veja apenas cerca de 3,5) e fiquei com o arquivo de paginação desativado por alguns meses sem nenhum problema e apenas uma ou duas reinicializações. Eu uso programas bastante pesados ​​(incluindo o photoshop) sem problemas até agora.
31410 Joe Phillips
Nesse caso, sinta-se à vontade para ignorar meus conselhos e fazer o que parece certo para você. Embora o post de Fator Místico tem um argumento melhor tanto para a mesma conclusão, então, pelo menos, manter o que ele está dizendo em mente;)
Sean
Talvez eu volte a ligá-lo e ver se isso ajuda. Só não consigo imaginar que escrever constantemente para trocar seja bom para o meu disco rígido.
31410 Joe Phillips
5

Eu diria habilitar, mas mova-o para uma segunda unidade, de preferência uma que não esteja sendo usada por algum outro dispositivo de E / S. Isso muitas vezes me deu uma velocidade melhor do que desativar completamente o arquivo de paginação. Obviamente, maximizar a RAM é uma boa otimização paralela.

romandas
fonte
1
Se você fizer isso, verifique se está movendo o arquivo de paginação para outro dispositivo físico. Movê-lo para outra partição no mesmo dispositivo é uma perda de tempo, a menos que você tenha um disco rígido de nível industrial (como SCSI).
Paweł Polewicz
3

Desativei o arquivo de troca nos sistemas Windows de 32 bits com 4 GB de memória física. Ter memória virtual ativada não adicionará mais endereços ao sistema, e desativá-la significa que nunca preciso esperar o Windows entrar ou sair.

kquinn
fonte
6
Quais testes de tempo você executou e sob que tipo de carga?
227 Michael Kohne
2
Sem dados concretos == anedota ainda subjetiva
romandas
4
Claro que é uma anedota subjetiva - eu já afirmei o contrário? Não sei por que as pessoas estão pedindo dados de tempo: eu não executo servidores no Windows (a menos que seja necessário!), Eu executo minha área de trabalho pessoal e uma máquina de jogos nele. E para essa máquina, a resposta subjetiva é tudo o que importa.
kquinn
1
E você nunca correu mais do que o processo como um tempo, suponho? Mesmo em um sistema de 32 bits, mais de 4 GB de RAM física podem ser alocados a qualquer momento. Você pode até alocar mais de 4 GB de RAM para um único processo usando as APIs de memória virtual para remapear seções do seu espaço de endereço.
Eclipse
1
Você quis dizer que mais de 4 GB de RAM virtual podem ser alocados? Quando toda a RAM física estiver esgotada, você começará a receber erros de paginação da MMU, o que causará a troca. Sem nenhum arquivo de paginação, será a troca de quaisquer dados DLL / EXE lançados fora. Com um arquivo de paginação, seria o que fosse gravado no arquivo de paginação.
JBRWilkinson 01/07
3

Desativei o arquivo de troca nos sistemas Windows de 32 bits com 4 GB de memória física. Ter memória virtual ativada não adicionará mais endereços ao sistema, e desativá-la significa que nunca preciso esperar o Windows entrar ou sair.

Não. O espaço de endereço é o seguinte: todo PROCESS tem seu próprio espaço de endereço de 31 bits (menos de 2 GB) e o kernel possui seu próprio espaço de endereço de 31 bits (sempre o mesmo, independentemente de qual processo possua o encadeamento atual). Isso fornece um número de processos de 2 GB * * de espaço de endereço disponível no modo de usuário. Sem uma troca, o espaço no modo do usuário é limitado ao tamanho da memória física menos o tamanho da memória do kernel (geralmente em torno de 200 MB). Obviamente, pode haver algum limite artificial para a quantidade de memória virtual que seu sistema pode alocar, mas eu não sou especialista nas políticas de licenciamento da Microsoft.

Além disso, observe que desabilitar a troca não significa necessariamente que não haverá falhas de página resultando no acesso ao disco. O arquivo de troca não é o único arquivo para o qual a memória está mapeada. Todo arquivo executável (ou seja, .exe ou .dll, exceto os drivers do modo kernel) tem seu próprio backup de disco - ou seja, o arquivo exe. Obviamente, as páginas que foram modificadas na memória, como segmentos de dados graváveis, IAT ou até mesmo segmentos de código (no caso de executáveis ​​compactados, por exemplo) precisam de backup separado, mas a grande maioria do código / dados estáticos / recursos não precisa de troca e ... pode ser removido da memória quando o sistema estiver com poucos recursos. Quando o processo precisar de acesso a esses dados, ocorrerão falhas de página e acesso ao disco, independentemente de a troca estar ativada ou não.

kmode MZ
fonte
2

Sean Nyman disse anteriormente que "especialmente aqueles com muita memória, como Firefox e seu Photoshop, esse aprimoramento vai direto para a porta".

Eu só queria adicionar isso no Firefox, se você digitar about:configna barra de endereços para ir para as configurações avançadas no Firefox, poderá adicionar uma nova string para browser.cache.disk.enablee definir o valor booleano para falsee isso forçará o Firefox a armazenar em cache apenas na RAM. Você também pode adicionar a string browser.cache.disk.capacitye especificar um valor para controlar quanto espaço na RAM o Firefox usará para o cache do navegador. Eu espero que isso ajude. Eu tenho o meu configurado para armazenar em cache na RAM e o Firefox é sempre super rápido.

Também tenho uma unidade SSD para a unidade do sistema neste laptop, com uma unidade rotativa de 500 GB no compartimento secundário para armazenamento e defino as pastas TMP, TEMP e Arquivos Temporários da Internet para apontar para a unidade rotativa no Windows 7 Pro, juntamente com a mudança do meu arquivo de paginação.sys para a unidade rotativa em D: e meu sistema funciona muito rápido como um raio. De qualquer maneira, tenho 4 GB de RAM, então acho que o Windows 7 nem usa muito o arquivo de paginação, mas qual é o mal em deixá-lo ativado?

ojosch
fonte
Não importa o quanto de memória você tem, janelas gosta de usar o arquivo de página por algum motivo
Joe Phillips
0

Desabilitar o arquivo de troca talvez seja a melhoria mais dramática que você pode usar para aumentar o desempenho do seu computador. No cenário típico, a maioria dos laptops usa discos rígidos magnéticos físicos com partes móveis. Essas unidades são muito lentas quando comparadas à velocidade da memória no seu computador. Portanto, se você tiver o carneiro para forçar as janelas a permanecerem "dentro do seu meio" e nunca gravar no disco, isso só diminuirá a velocidade quando for necessário acessar o disco de um arquivo que ainda não está na memória. Tudo na memória será executado significativamente mais rápido. A idéia é armazenar em cache todo o sistema operacional para que ele apenas leia ou grave em um disco físico quando precisar de algo que ainda não esteja na memória.

A leitura / gravação de RAM ocorre em nanossegundos versus milissegundos em discos magnéticos físicos.

Agora, algo a considerar é que agora existem novas opções de arquivos de troca que se tornam práticas. Se você usar um disco de estado sólido ou conseguir que o Windows coloque o arquivo de troca em um cartão SD, também ocorrerá aumentos significativos de desempenho.

Apenas meus $ 0,02

Axxmasterr
fonte
3
Desabilitar a troca não significa que tudo fica na memória. Isso significa que o que é liberado na memória precisa ser lido novamente a partir do local original em disco, quando necessário. Isso significa que seu sistema será mais lento. Veja o post do SF que eu vinculo na minha resposta.
Factor Mystic
3
É exatamente por isso que você o otimiza para que nunca precise atingir o disco. Eu já fiz isso antes e funciona.
Axxmasterr