Devo desativar o arquivo de permuta se tiver muita RAM ou devo movê-lo para uma unidade de RAM virtual?

97

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?

user1306322
fonte
57
Ter um arquivo de paginação em um disco RAM nunca realiza nada. Você tira uma certa quantidade de memória disponível e adiciona uma certa quantidade de memória virtual. Soma nula. Apenas não tem arquivo de paginação.
usr
14
Faz algum sentido fazer isso no Linux em alguns casos em que o disco ram que hospeda o arquivo de troca é realmente compactado. Veja: en.wikipedia.org/wiki/Zram . No entanto, eu não acho que o Windows tenha esse recurso disponível.
Matt H
2
A resposta é sim, mas há muitos incrédulos.
Mehrdad 12/09
14
@ user367257 criar um disco ram para armazenar seu arquivo de paginação é como emprestar a seu amigo 10 libras para que ele tenha dinheiro suficiente para permitir que você empreste 10 libras com ele. Pode ser tecnicamente possível, mas tudo o que você conseguiu foi complicar desnecessariamente uma jornada para lugar nenhum.
Rob Moir 12/09
2
Gostaria (e faço) apenas desativá-lo para um SSD, já que você só recebe muitas gravações (mesmo que sejam muitas agora), com 6 GB. Isso funciona bem.
precisa saber é o seguinte

Respostas:

134

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.

David Schwartz
fonte
9
Eu estava contradizendo o voto negativo. Mas, para seu último comentário: eu corro 2 máquinas diferentes sem troca. Tudo bem se você souber exatamente como a máquina será usada.
Spudone
6
Eu suspeito que o arquivo de paginação em um ramdrive tenha começado como uma "solução alternativa" para o culto à carga, pelo fato de que algum software se recusará a iniciar se detectar que não há um arquivo de paginação. (Eu tenho dito gráficos / ferramentas de vídeo da Adobe fazer isto.)
Dan Neely
8
@DavidSchwartz As informações fornecidas são tecnicamente corretas e é uma boa informação para saber. Mas a conclusão que você chega a esse ponto sempre deve ter um arquivo de paginação, independentemente da quantidade de RAM que você possui, não está correta e eu mantenho minha afirmação de que essa não deve ser a resposta aceita.
21315 Jason Wheeler
5
Eu simplesmente não gosto de ouvir que "os arquivos de paginação são mágicos, então não os desative ou você se arrependerá" quando eu sei que, em muitas circunstâncias comuns, você pode desativá-los e vê com segurança uma melhoria no desempenho porque você não aumentam mais a E / S de disco em 100% ou mais sempre que o MMS deseja fazer algo. Tudo o que eu quero ouvir das pessoas do outro lado deste debate é "sim, há circunstâncias em que você pode desativá-las e reduzir a E / S do disco, o que pode resultar em surras". Não estou dizendo que os arquivos de paginação são sempre ruins, talvez você possa dizer que eles nem sempre são necessários.
Fred Hamilton
5
Percebi que o que estava me irritando sobre tudo isso é que um lado parece estar dizendo "os arquivos de paginação nunca fazem nada além de bom" e o outro lado é "os arquivos de paginação são terríveis" e as pessoas ficam entrincheiradas de um lado ou de outro. A "verdade" é que, em alguns casos, eles são muito úteis e até evitam falhas e, em outros casos, não são necessários e podem realmente causar uma diminuição no desempenho. Estou feliz com isso como minha declaração final, independentemente. Viva por muito tempo e prospere, @David Schwartz.
Fred Hamilton
32

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:

Art Gertner
fonte
2
@ChrisH Você também provavelmente não seria capaz de carregar um banco de dados SQL em um processador de texto, uma vez que aqueles executados inteiramente em :-) RAM
TylerH
9
Esta resposta está incorreta e contém muitas informações erradas. Mas a maneira mais simples de entender por que está errado é isso: as pessoas que criaram o comportamento da memória do sistema operacional são provavelmente as pessoas mais inteligentes do mundo. Por que eles projetariam um sistema de tal forma que, dando-lhe mais opções (a opção de trocar se, e somente se, ele achasse melhor), piorasse seu desempenho? Somente um idiota projetaria um sistema como esse.
David Schwartz
17
@ DavidSchwartz, não vejo como o fato de as pessoas que desenvolveram algoritmos de gerenciamento de memória serem inteligentes faz alguma diferença para o assunto original. O OP perguntou se a desativação da troca pode melhorar o desempenho, e eu expliquei que pode, sob certas condições e pode levar a problemas sob outras condições. Respondendo à sua pergunta sobre o porquê (?) - Posso dizer, porque os algoritmos não são perfeitos e cabe ao usuário ajustá-los. É por isso que existe um parâmetro de troca no Linux e é por isso que é possível desativar a troca.
Art Gertner
11
@smc Não há nada incomum no caso de uso do OP. A noção de que os sistemas operacionais não estão adequadamente ajustados para casos de uso padrão de pântanos é um absurdo completo. (Veja a minha resposta para saber mais sobre por que você não quer fazer isso.)
David Schwartz
4
A suposição de que um determinado algoritmo sempre tomará uma decisão desejável para o usuário é totalmente falsa. Eles tomam decisões com base em parâmetros definidos que os programadores decidiram ser importantes. Isso pode estar em desacordo direto com o que um usuário precisa que aconteça.
Anaksunaman 12/09/14
14

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.

Peter
fonte
Mas, se o arquivo de paginação estiver em uma unidade de RAM virtual, o tempo usado para copiar alguns megabytes da RAM para o disco rígido virtual ou vice-versa será reduzido. E se o arquivo de paginação estiver completamente desabilitado, não haverá perda de tempo nisso. Isso está correto?
User1306322
2
Corrigir. Copiar bytes da RAM para um arquivo de paginação que esteja em um ramdisk é o arquivo de paginação mais rápido possível. Mas não copiar nada é mais inteligente.
Peter
2
Os arquivos de swap estão lá para compensar a falta de RAM. Se houver muita RAM, não há necessidade de compensar. No entanto, seu sistema operacional ainda usará o arquivo de troca, portanto é mais rápido desativá-lo nesse caso.
6
@ Mas isso é uma simplificação grosseira. Arquivos de troca também estão lá para permitir o uso eficiente da RAM.
David Schwartz
1
@DavidSchwartz Talvez, mas essa é a explicação que me explicou melhor. Na maioria dos casos, uma pequena quantidade de arquivo de troca é sempre benéfica sobre nenhum arquivo de troca. No entanto, não tenho recursos para fazer backup disso.
8

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.

demonkoryu
fonte
1
+1 por mencionar o ZSWAP. É comumente usado em algumas plataformas móveis, além de ser usado no OS X 10.9 (embora além da troca).
James_pic
Observe que "o disco RAM compactado como uma unidade de troca" ainda tem o problema de não fazer nada para todos os "arquivos de paginação" que não sejam o arquivo de paginação real.
Jamie Hanrahan
5

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 .

harrymc
fonte
4

Para Windows, da boca dos cavalos:

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 nenhum arquivo de paginação, em geral, ter uma significa que mais memória utilizável * estará disponível para o sistema (não se esqueça que o Windows não poderá gravar despejos de memória do kernel sem um arquivo de paginação dimensionado grande o suficiente para segurá-los).

https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

  • memória utilizável - portanto, embora isso recomende ter memória virtual, também sugere que você precisa de grandes quantidades de RAM para se beneficiar de não ter arquivos de paginação / memória virtual. Tenho um SSD de 4 GB de RAM e 128 GB sem arquivo de paginação, mas eu o uso para navegar na Web e digitar documentos do Word.
user127379
fonte
2
Com minhas lições pessoais aprendidas e algo que prego para todos os novos funcionários: existem apenas 2 regras. # 1: nunca confie na Microsoft. # 2 .. você não deu ouvidos para governar 1, então não há nenhuma regra 2.
Nick
3

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

JamesRyan
fonte
3

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

Dan W
fonte
Obrigado por compilar esta lista. Deve ajudar a apresentar algumas evidências de que teoria e prática diferem nesse assunto. Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.Sim, como se: p
user1306322 07/02
essa conclusão é falha. o fato de o sistema operacional gravar coisas no arquivo de paginação, apesar de aparentemente ter "enormes quantidades de RAM livre", não prova nada sobre "design e filosofia defeituosos". Isso significa que você não possui informações suficientes para avaliar adequadamente as decisões do sistema operacional. Apenas para iniciantes, considere o caso em que existem muitas páginas modificadas. Eles são gravados no arquivo de paginação e movidos para a lista de espera - agora fazem parte de "disponível". Você entendeu? A RAM está disponível PORQUE seu conteúdo foi gravado no arquivo de paginação!
Jamie Hanrahan
@JamieHanrahan: Isso não explica por que as pessoas ainda têm problemas, apesar de raramente usarem mais do que uma fração da RAM. Os comentários nesse tópico incluem: "Eu nunca usei mais da metade dele", "O uso do arquivo de paginação é de cerca de 2,7 GB, onde o uso da RAM é de 3,23 GB dos 16 GB.", "Eu tive um aumento dramático no desempenho usando o Illustrator quando Eu criei e mudei meu arquivo de paginação para o RAMDisk ".
Dan W
A maioria desses comentários se deve a informações insuficientes. É improvável que os problemas de desempenho sejam resolvidos mantendo as coisas na RAM que não estão sendo acessadas com frequência. O arquivo de paginação não é o único arquivo envolvido na paginação; existem centenas de outros, portanto, é improvável que fazer algo que afete apenas o arquivo de paginação (e retire GBs de RAM do resto do sistema, aumentando assim a taxa de falha de página) tenha qualquer efeito "dramático". Esses relatórios geralmente não são mantidos quando testes adequadamente controlados são feitos. Você pode encontrar anedotas para apoiar praticamente qualquer crença; Acho-os não convincentes.
Jamie Hanrahan 31/03
Em particular, a afirmação "o arquivo de paginação está sendo usado" exige prova. Só ter GBs de coisas no arquivo de paginação não prova que o arquivo de paginação está sendo usado de uma maneira que o coloca em um caminho crítico de desempenho. Para avaliar isso, isole o arquivo de paginação em uma partição por si só - ou pelo menos uma que não esteja ativamente em uso por mais nada - e você poderá usar o PerfMon nesse "disco lógico" para monitorar suas taxas de E / S. Se o arquivo de paginação não estiver sendo lido com frequência, não importa quanto foi gravado nele!
Jamie Hanrahan 31/03
2

Convertendo 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á.

Peter
fonte
2

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.

nsn
fonte
2

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.

Michael
fonte
Você seria muito melhor apenas colocando um arquivo de paginação no seu SSD. O Windows não o utilizará se não for necessário. Colocar um arquivo de paginação em um disco RAM é ridículo. Sim, as falhas de página nesse "arquivo" serão resolvidas mais rapidamente do que se estivessem em um disco real, mas atribuindo a RAM ao disco de RAM em primeiro lugar, você está aumentando o número de falhas de página. É como pedir dinheiro emprestado, cobrar juros e jogar o "interesse" fora. Nem está errado.
Jamie Hanrahan
1

Mover o arquivo de paginação para a RAM é uma noção ridícula Apenas desligue-o e use mais RAM. :)

No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.

Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).

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

  • O arquivo de paginação e sua localização são gerenciados pelo Windows, a captura de acesso à memória para locais que foram paginados em disco seria capturada pela CPU, mas entregue ao sistema operacional para recuperar a página do disco e carregá-la.

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 ).

insira a descrição da imagem aqui http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html

insira a descrição da imagem aqui

insira a descrição da imagem aqui

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.

Robert Fischer
fonte
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
DavidPostill