Imagine que tenho toneladas de RAM. Digamos 64GB. Isso é muito, mesmo para PCs de jogos. Agora, o local padrão de um arquivo de paginação no Windows está na unidade principal do sistema operacional, seja HDD ou SSD, que são mais rápidos em geral, mas ainda não tão rápidos quanto a RAM.
Algo me diz que desabilitar o arquivo de paginação no disco rígido ou criar uma unidade de RAM virtual e permitir que o arquivo de paginação esteja lá pode fazer com que o Windows mova toda a sua memória virtual para a RAM e, assim, aumente o desempenho do sistema, mas eu não tenho muito conhecimento disso área, de modo que pode não ser verdade.
Tentei os dois, mas não consegui analisar os resultados para chegar a uma conclusão definitiva com meu nível de conhecimento nas coisas da memória.
Isso funcionaria? Se não, por que?
fonte
Respostas:
Não importa quanta RAM você tenha, você deseja que o sistema possa usá-lo com eficiência. Não ter nenhum arquivo de paginação força o sistema operacional a usar a RAM ineficientemente por dois motivos. Primeiro, ele não pode tornar as páginas descartáveis, mesmo que elas não tenham sido acessadas ou modificadas há muito tempo, o que força o cache do disco a ser menor. Segundo, ele precisa reservar RAM física para fazer backup de alocações que dificilmente exigirão (por exemplo, um mapeamento de arquivo modificável e privado), levando a um caso em que você pode ter bastante RAM física livre e, no entanto, as alocações são recusadas. evite comprometer demais.
Considere, por exemplo, se um programa faz um mapeamento de memória privada gravável de um arquivo de 4 GB. O sistema operacional precisa reservar 4 GB de RAM para esse mapeamento, porque o programa pode modificar todos os bytes e não há outro lugar além da RAM para armazená-lo. Então, imediatamente, 4 GB de RAM são basicamente desperdiçados (pode ser usado para armazenar em cache páginas de disco limpas, mas é isso).
Você precisa ter um arquivo de paginação para aproveitar ao máximo sua RAM, mesmo que nunca seja usada. Ele atua como uma apólice de seguro que permite ao sistema operacional realmente usar a RAM que possui, em vez de ter que reservá-lo para possibilidades extraordinariamente improváveis.
As pessoas que projetaram o comportamento do seu sistema operacional não são tolas. Ter um arquivo de paginação oferece ao sistema operacional mais opções e não cria más opções.
Não faz sentido tentar colocar um arquivo de paginação na RAM. E se você tiver muita RAM, é improvável que o arquivo de paginação seja usado (ele só precisa estar lá), portanto, não importa particularmente a rapidez com que o dispositivo está ligado.
fonte
Você está inteiramente correto em sua suposição.
Os algoritmos de gerenciamento de memória são muito complexos e, por qualquer meio, não são perfeitos. Portanto, a troca ocorre mesmo quando há bastante RAM disponível. Em alguns sistemas, como
Linux
, você pode controlar a troca , em outros, não. Ao trocar os dados quando ainda há bastante memória RAM, o sistema, à sua maneira, se prepara para a situação em que pode ficar sem memória RAM.Portanto, desabilitar a funcionalidade de troca pode oferecer uma melhoria no desempenho, porque você usará apenas a RAM, que é mais rápida, como você já disse.
Uma coisa a considerar (e você já mencionou) - você precisa de RAM suficiente para acomodar todos os programas que está executando, caso contrário, corre o risco de ficar sem memória . Nesse caso, o desempenho diminuirá, alguns processos podem ser encerrados pelo sistema operacional e o sistema poderá sofrer uma falha / congelamento. (leia mais sobre isso aqui )
Em algumas máquinas, especialmente nas que mantêm o arquivo de troca no HDD e não no SSD, o efeito de desativar a troca é muito perceptível. Em outros, não é tão óbvio. Mas mesmo que você não obtenha uma melhoria óbvia, pense de outra maneira: ao desativar a troca, você economizará espaço em disco no SSD.
Ao desativar a troca, você também impedirá que algoritmos de memória executem operações desnecessárias - movendo dados da RAM para troca e vice-versa - no caso de SSD, isso evitará desgaste excessivo. E, em qualquer caso, isso melhorará o desempenho, eliminando operações desnecessárias.
Leia também:
fonte
Você pode desativar com segurança o arquivo de paginação?
Se você ficar sem memória livre, incluindo memória virtual, o sistema não poderá continuar garantindo a execução determinística e se encerrará. Antes que isso aconteça, o sistema operacional fará várias outras coisas, como matar programas que usam muita memória. O que eu quero dizer é que a memória é sempre finita e todo sistema operacional pode lidar com isso. Portanto, limitar a memória total disponível a 64 GB não prejudicará o Windows - muitos sistemas não podem ir além de 8 GB, mesmo com um arquivo de paginação, porque com 1 ou 2 GB de RAM, o arquivo de paginação geralmente é muito menor que 6 ou 7 GB. Observe que, desde que você tenha uma quantidade excessiva de RAM não utilizada, a sobrecarga do sistema operacional que mantém um arquivo de paginação não será mensurável.
Faz sentido colocar o arquivo de paginação em um ramdisk?
Para aumentar a memória disponível, a maioria dos sistemas operacionais avançados, se não todos, usa algum tipo de arquivo de troca, onde eles consomem alguma memória que está na RAM e não foi acessada por um tempo, gravem a memória no disco rígido (swapfile aka pagefile ) e exclua a memória da RAM para que uma memória mais rápida esteja disponível. O swapfile é usado para estender o tamanho máximo da memória além do tamanho da RAM disponível.
Portanto, usar um ramdisk (que reduz a memória disponível pelo tamanho do ramdisk) para hospedar o arquivo de troca (o que aumenta a memória disponível pelo tamanho do arquivo de troca) funcionará, mas não fará muito sentido. Ele não oferecerá mais memória do que desativar o arquivo de paginação, mas ainda exigirá que o sistema execute algoritmos de paginação.
fonte
Para reiterar o que outros disseram, mover o swap para um disco RAM direto é um tanto inútil (no caso mais comum, veja abaixo). Isso permite que, em um determinado momento, quando o sistema esteja sem memória, alguns dados sejam movidos de RAM para RAM de uma maneira bastante ineficiente.
A troca no HDD / SSD permite que o sistema operacional possa limpar algumas páginas de RAM completamente não utilizadas e usar o espaço livre para, por exemplo, cache de arquivos ou outros buffers do sistema. Você pode não perceber que o sistema aloca menos desses buffers de RAM porque você não tem memória virtual disponível sem um arquivo de paginação; portanto, você pode estar prejudicando seu desempenho desativando a troca.
No entanto, um disco de RAM compactado como unidade de troca , uma unidade "ZSWAP", pode ser benéfico em casos extremos (onde você pode precisar de apenas alguns MB de RAM adicionais para evitar a troca para o HDD), melhorando a eficiência de espaço de um segmento da RAM para um certo ponto.
fonte
Se você não tiver um arquivo de paginação, no caso de um BSOD (falha), o Windows não poderá gravar o arquivo de despejo de memória. Isso significa que você não poderá analisar o problema usando as ferramentas apropriadas.
Ter o arquivo de paginação na RAM é quase inútil, pois pode ser perdido na falha.
Para obter mais informações, consulte o artigo da Microsoft Noções básicas sobre arquivos de despejo de memória .
fonte
Para Windows, da boca dos cavalos:
https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/
fonte
Não desative o arquivo de troca Não é apenas para quando a memória está acabando. Não há ganho de desempenho direto ao desativá-lo , o Windows apenas lê quando é necessário, grava o tempo todo para que esteja pronto sempre que necessário.
Você pode reduzi-lo para cerca de 2/3 do tamanho da memória, se tiver mais de 4 GB, porque ele armazena a imagem da memória compactada. Você pode colocá-lo no seu disco rígido mais lento, que não está sendo acessado por outro acesso pesado ao disco, se você não tiver espaço em um SSD. Mas é benéfico ter um em algum lugar.
Veja esta resposta para mais informações sobre o porquê. https://superuser.com/a/286476/4236
fonte
Em teoria, colocar o arquivo de paginação na RAM não deve fazer sentido, porque você está apenas esgotando o que supostamente ganha e o Windows se baseia na suposição de que o arquivo de paginação não será usado para tais fins.
Na prática, no entanto, o design e a filosofia defeituosos podem chegar ao kernel do Windows, e o gerenciamento de memória da Microsoft não é necessariamente perfeito. Muitos descobriram que colocar o arquivo de paginação em um Ramdisk realmente resulta em um aumento de desempenho , desde que você tenha uma quantidade razoável de memória.
Eu compilei um post que mostra uma coleção desses usuários a partir de um único tópico do fórum que descobriu que, apesar de ter grandes quantidades de RAM livre, o arquivo de paginação ainda está sendo usado:
http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589
fonte
Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.
Sim, como se: pConvertendo um sistema operacional que foi projetado em sua essência para não usar swap é muito mais difícil do que parece.
Macs modernos têm uma partição de recuperação - parte da unidade principal com um sistema operacional despojado que pode reparar ou restaurar o sistema principal. Nos dias em que o instalador do DVD executou um processo personalizado, o sistema agora cria um disco de RAM para a partição swap, pois não é possível garantir que o instalador tenha espaço em disco disponível. O sistema operacional inclui as estruturas necessárias para executar o software de manutenção incluído, que é idêntico aos utilitários disponíveis após a instalação. Muito menos trabalho para todos.
Limitar o sistema a um aplicativo por vez significa que o ramdisk-swap basicamente nunca é usado, mas o sistema operacional espera que ele esteja lá.
fonte
Se você tiver memória suficiente, a resposta seria sim, você pode desativar a troca. O Swap foi criado para superar as limitações da RAM e tornar seu uso mais eficiente.
A questão agora é quanta RAM é suficiente? Não existe uma resposta universal para isso e, por natureza, os sistemas estão sedentos de memória. Portanto, e a menos que você esteja executando em um ambiente muito específico e controlado, não desative a troca.
Qualquer outro tipo de truque, como colocar swap na RAM, criará uma camada extra de complexidade e gastará memória que poderia ser usada diretamente.
fonte
Meu sistema possui 24 GB de RAM; por esse motivo, desativei o arquivo de paginação para evitar o desgaste no meu SSD sem problemas. Recentemente, criei um disco RAM, usando 4 GB de memória para armazenar arquivos de cache do Google Chrome, apenas para ver se aumentaria o desempenho dos jogos online do Flash Player e da navegação geral na web. Vi um aumento acentuado no desempenho desse experimento. Como eu tinha mais espaço disponível no meu disco RAM, habilitei meu arquivo de paginação e configurei o tamanho mínimo e máximo para 1 GB e o movi para o disco RAM. Embora eu não possa dizer que houve algum aumento no desempenho, meu sistema parece estar funcionando mais estável.
fonte
Mover o arquivo de paginação para a RAM é uma noção ridícula Apenas desligue-o e use mais RAM. :)
O Gerenciamento de memória é tratado pela CPU e se o arquivo de paginação está ativado ou desativado não faz nem um pingo de diferença na maneira como as páginas são tratadas. É transparente para o Windows.
A prioridade da página não muda, as páginas serão descartadas da mesma forma. Os arquivos de paginação são usados pela CPU como armazenamento secundário, não pelo SO. Nada mais é do que o cache do nível dois quando o nível um (RAM) acaba.
Um exemplo rápido e muito sujo :, minha máquina possui 16 GB de RAM e nenhum arquivo de paginação. 5 minutos atrás, com 13 GB no modo de espera e apenas 2 GB gratuitos, carreguei o Fallout 4. As páginas de baixa prioridade foram descartadas quando o Fallout foi carregado.
Por outro lado, o Blog da Technet de 2008 sobre como empurrar os limites de memória do Windows é muito enganador - eu diria ao ponto de enganar. https://i.stack.imgur.com/wXkmi.png Também sou duvidoso se Mark o escreveu, mas espero que não, pois isso mudaria minha perspectiva dele .....
Fwiw, existem brechas no artigo que eu estou impressionado que ninguém escolheu ao considerar com que frequência esse blog foi consultado
Enfim, aqui está uma descrição não tão vaga:
O Windows não pode alcançar endereços mais altos que a CPU - não é possível.
Não importa o que o sistema operacional seja capaz, ele ainda é limitado pelo hardware em que é executado. Porque o sistema operacional é na verdade a própria CPU (registros internos).
OK, então o arquivo de paginação é uma área no HDD que a CPU usa para aumentar o espaço de endereço físico quando não pode usar física ou arquitetonicamente mais RAM.
Na arquitetura x86 de 32 bits segmentada, por exemplo, existem dois segmentos de 2 GB de RAM.
Um é alocado para o kernel. Os outros 2 GB são para o modo usuário. Essa é toda a RAM que a CPU pode usar com 32 pinos DRAM, mas um processo de 32 bits tem 4 GB disponíveis, então o que fazer. Felizmente, a CPU pode usar armazenamento secundário, também conhecido como disco rígido, para armazenar 2 GB de páginas extras. Porque possui registros internos
Os locais físicos onde as páginas virtuais referenciadas pelo processo não precisam ser armazenadas na RAM. Mas eles foram armazenados em algum lugar pela CPU.
A CPU não pode fornecer todos os 4 GB de RAM para o aplicativo, mas pode fornecer 4 GB de endereço usando o HDD como cache secundário (que é todo o HDD realmente)
As páginas são movidas para dentro e para fora da RAM por meio de seu mecanismo interno de paginação, mas isso não é o mesmo que um arquivo de paginação. A paginação sempre ocorre ....
O resultado final não é realmente tão complicado. Nos últimos 15 anos, muitos usuários finais tiveram a impressão de que um arquivo de paginação é parte integrante do sistema operacional. Isso nunca foi. Esse equívoco é parcialmente alimentado por empresas como Intel e Microsoft.
A RAM é um dispositivo de armazenamento rápido, o disco rígido é um dispositivo de armazenamento mais lento; portanto, essencialmente, a RAM é um cache de nível 1, o disco rígido é de nível 2 (desconsiderando o cache da CPU por essa analogia). Ambos podem ser acessados pela CPU.
Se não houver RAM suficiente disponível para a CPU armazenar as páginas necessárias, o HDD pode ser usado como um transbordamento. Se houver muita RAM, o PF é redundante.
Até o Core 2, os processadores Intel tinham um barramento DRAM de 32 pinos e 32 registros, o que significa que a CPU tinha acesso a 4 GB de RAM e 4 GB de espaço no HDD (arquivo de paginação). Essa é uma limitação de hardware arquitetural, não uma limitação do Windows.
O total disponível para processos foi de 3,5 GB, porque uma tabela de páginas ocupa 512 MB. É por isso que 3,5 GB aparece no Windows com CPU Intel (até o Core 2). Adicione uma GPU e menos ainda está disponível.
O Xeon pode acessar um total de 32 GB de RAM, 64 GB de espaço físico com o HDD incluído (arquivo de paginação novamente). ( Isso inclui o PAE, mais para incluir os links adicionados ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
Terceira fonte da captura de tela: Interface binária do aplicativo System V Suplemento do processador de arquitetura AMD64 Versão preliminar 0.99.7
Pretendo continuar melhorando esta resposta e adicionando material de origem e informações relevantes. Eu gostaria de alcançar um equilíbrio entre informações insuficientes e informações técnicas demais. Sugestões são bem-vindas. Por favor, não diminua o voto apenas porque pode não ser tão bem escrito.
fonte