Estou investigando o uso da compactação de memória do Windows 10 para decidir qual é a melhor maneira de 'trocar' a memória.
Por um lado, eu poderia deixar tudo para o Windows, confiar no arquivo de paginação e na memória compactada, mas isso implica que não tenho controle sobre o que exatamente é trocado e quando.
Por outro lado, eu poderia executar o sistema sem arquivo de paginação e reduzir o uso de memória por alterações temporárias persistentes mais rápidas no banco de dados. Então eu tenho mais controle sobre o que persistir e remover da memória.
No último caso, ainda posso me beneficiar da compactação de memória, desde que a compactação de memória seja usada mesmo se você não tiver um arquivo de paginação. Se for esse o caso, a compactação de memória permitiria que meu processo usasse mais memória do que está fisicamente disponível (durante um breve momento, é claro).
Portanto, a pergunta é: a compactação de memória do Windows 10 é usada se o sistema não possui arquivo de paginação?
O arquivo de paginação precisa ser ativado para que a compactação de memória seja ativada. Acabei de verificar no Windows 10 versão 1809.
Normalmente, estou executando este sistema com o arquivo de paginação desativado e, apesar de ativar a compactação de memória no MMAgent, verificar se o serviço SysMain está em execução e todas as configurações de prefetch e readyboost estão ativadas no registro, o Gerenciador de tarefas sempre diz "A compactação de memória não está ativada" e Nunca vi a estatística de memória "(compactada)" ultrapassar 0 MB na guia de memória do gerenciador de tarefas.
Depois de configurar um arquivo de paginação de 16 MB (tamanho mínimo permitido), a dica de ferramenta na guia Gerenciador de tarefas agora mostra a mensagem esperada "A memória compactada armazena uma estimativa .... de dados...".
O que ainda não verifiquei é como o tamanho do arquivo de paginação afeta a quantidade máxima permitida de memória compactada.
Outra observação relacionada : Prefetch e ReadyBoost podem ser desativados usando o regedit. Eles não afetam a operação de compactação de memória. No entanto, o serviço "SysMain" (confusamente chamado de readyboost em versões mais antigas do Windows) deve ser ativado, caso contrário, a compactação de memória não será ativada.