"Entrada de páginas / s é o contador a ser observado, mas você não deve se preocupar com a" troca ", pois o Windows não usa o arquivo de paginação como * nixes.
Primeiro você precisa entender que as páginas do Windows não saem. Vou citar a parte relevante do post de Eric Lipperts no blog (levemente editado), pois não posso dizer melhor:
"A RAM pode ser vista apenas como uma otimização de desempenho. Acessar dados na RAM, onde as informações são armazenadas em campos elétricos que se propagam perto da velocidade da luz, é muito mais rápido do que acessar dados em disco, onde as informações são armazenadas em um volume enorme e pesado. moléculas de metais ferrosos
O sistema operacional controla quais páginas de armazenamento a partir de quais processos estão sendo acessados com mais freqüência e faz uma cópia delas na RAM, para aumentar a velocidade. Quando um processo acessa um ponteiro correspondente a uma página que não está atualmente armazenada em cache na RAM, o sistema operacional faz uma “falha de página”, sai para o disco e faz uma cópia da página do disco para a RAM, assumindo razoavelmente que está prestes a ser acessado novamente em breve.
O sistema operacional também é muito inteligente em compartilhar recursos somente leitura. Se dois processos carregarem a mesma página de código da mesma DLL, o sistema operacional poderá compartilhar o cache da RAM entre os dois processos. Como o código provavelmente não será alterado por nenhum dos processos, é perfeitamente sensato salvar a página duplicada da RAM compartilhando-a.
Mas mesmo com um compartilhamento inteligente, eventualmente, esse sistema de cache ficará sem memória RAM. Quando isso acontece, o sistema operacional adivinha quais páginas têm menos probabilidade de serem acessadas novamente em breve, as grava no disco se tiverem sido alteradas e libera a RAM para ler algo que tem mais probabilidade de ser acessada novamente em breve.
Quando o sistema operacional adivinha incorretamente, ou, mais provavelmente, quando simplesmente não há RAM suficiente para armazenar todas as páginas acessadas com frequência em todos os processos em execução, a máquina começa a "debulhar". O sistema operacional gasta todo o tempo escrevendo e lendo o caro armazenamento em disco, o disco é executado constantemente e você não realiza nenhum trabalho.
Isso também significa que "ficar sem memória RAM" raramente resulta em um erro de "falta de memória". Em vez de um erro, resulta em um desempenho ruim, porque o custo total do fato de o armazenamento estar realmente em disco se torna repentinamente relevante.
Outra maneira de analisar isso é que a quantidade total de memória virtual consumida pelo seu programa não é realmente muito relevante para o seu desempenho. O que é relevante não é a quantidade total de memória virtual consumida, mas sim, (1) quanto dessa memória não é compartilhada com outros processos, (2) qual o tamanho do "conjunto de trabalho" das páginas mais usadas e ( 3) se os conjuntos de trabalho de todos os processos ativos são maiores que a RAM disponível.
A essa altura, deve ficar claro por que os erros de “falta de memória” geralmente não têm nada a ver com a quantidade de memória física que você possui ou com a quantidade de armazenamento disponível. É quase sempre sobre o espaço de endereço, que no Windows de 32 bits é relativamente pequeno e facilmente fragmentado. "
Alguns pontos adicionais:
- DLLs e arquivos de programa são sempre apenas paginados, nunca saídos, pois já estão no disco (e geralmente as primeiras páginas são liberadas quando a memória RAM fica baixa)
- é muito mais provável que você fique sem entradas de tabela de página gratuitas ou tenha uma memória altamente prejudicada do que quaisquer outros problemas de memória (além do desempenho geral ruim, como já mencionado)
- mesmo se você executar sem um arquivo de paginação, ainda poderá obter falhas na página
- de um modo geral, olhar para a memória comprometida é mais revelador de como um processo usa a memória
Para obter uma imagem completa de como o gerenciamento de memória funciona no Windows, consulte
O Gerenciador de memória virtual no Windows NT
se você acha que tem um problema de memória, sugiro assistir a esta apresentação sobre como solucionar problemas de memória do Windows
Aqui está uma ótima explicação de por que às vezes você fica "sem memória" quando não está graças à fragmentação da memória:
Consulte também Empurrando os limites do Windows: Memória física
Mais sobre memória virtual, fragmentação e vazamento de memória e WOW64
RAM, memória virtual, arquivo de paginação e tudo mais (suporte da microsoft)
Atualizar:
O Windows 10 faz algo um pouco diferente com a memória e, com o tempo, você verá um processo chamado "Sistema e memória compactada". O Windows 10 adiciona um "armazenamento de compactação" à lista de paginação. Essa ram é a memória do USUÁRIO que pertence ao sistema (normalmente o sistema tinha apenas memória do kernel). Essa memória é compactada para uma redução média de cerca de 30%. Isso permite que mais páginas sejam armazenadas na memória (para aqueles que fazem matemática com 70% mais espaço). Observe que, se a memória ainda tiver pressão, as páginas do armazenamento de compactação (espaço de processo do sistema no modo de usuário) podem ser colocadas no módulo modificado. lista (compactada) que pode ser gravada no arquivo de paginação físico. O sistema verá que eles são do espaço do modo de usuário do sistema e compactados e não tentará colocá-los de volta na loja. Portanto, nos sistemas Windows 10, pode parecer que o sistema está inalando RAM, mas, na verdade, está apenas tentando ser mais eficiente no uso de RAM. Os usuários de Mac usam um recurso semelhante desde 2013, e as versões mais recentes do kernel Linux empregam uma versão da compactação de memória. Esse método de conservação de memória não é apenas melhor, mas já é comum entre outros sistemas operacionais.