O arquivo de paginação do Windows Server 2016 não aumenta

O arquivo de paginação do Windows Server 2016 não aumenta

Peço desculpas antecipadamente se isso não estiver claro o suficiente para entender meu problema, é um pouco longo, mas fiz o possível para torná-lo compreensível.

Estou executando um Exchange 2016 CU6 em uma VM do Windows Server 2016 e recebo frequentemente um aviso no log do aplicativo informando que estou sem memória virtual (arquivo de paginação).

insira a descrição da imagem aqui

Meu monitoramento mostra que o arquivo de paginação está em 4 GB desde que a VM foi criada em abril, nunca aumentou além de 4 GB nem diminuiu.

insira a descrição da imagem aqui


Para solucionar esse problema e entender qual é o problema, criei duas VMs de teste com uma instalação básica do Windows Server 2016 Standard e do Windows Server 2008 R2 Enterprise, ambos com a mesma configuração de memória física e virtual:

Testar configuração da VM

BATER: 4GB

Disco C (dedicado ao sistema): 32 GB

Disco G (dedicado ao arquivo de paginação): 8 GB

Arquivo de paginação para unidade C: 512 - 1024MB

Arquivo de paginação para unidade G: Tamanho gerenciado pelo sistema

insira a descrição da imagem aqui

Minha VM de teste 2016 está usando atualmente 512 MB na unidade C: e 1 GB na unidade G:, totalizando 5,5 de memória comprometida

insira a descrição da imagem aqui

A VM de teste 2008 está usando atualmente 512 MB na unidade C: e 4 GB na unidade G:, totalizando 12,5 GB de memória comprometida

insira a descrição da imagem aqui


Depois de pesquisar muito sobre memória comprometida, encontrei este artigo de Mark Russinovitch:https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

Decidi usar a ferramenta testlimit64.exe com a opção -m para ver se o arquivo de paginação aumentaria na VM de teste 2016 e na VM de teste 2008.

O resultado reflete o problema explicado inicialmente onde o arquivo de paginação na VM de teste 2016 não aumenta na unidade G:, mas aumenta na VM de teste 2008:

insira a descrição da imagem aqui

insira a descrição da imagem aqui


De acordo com esta base de conhecimento da Microsoft:https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/automatic-memory-dump, usando a configuração de despejo automático de memória emPainel de controle-> Sistema-> Configurações avançadas do sistema-> Inicialização e recuperação-> Gravar informações de depuraçãocom o arquivo de paginação configurado como gerenciado pelo sistema, ele pode definir o arquivo de paginação para um tamanho menor que a quantidade de memória física.

Os testes que realizei não utilizaram essa configuração, tanto a VM de teste 2008 quanto a VM de teste 2016 foram configuradas com dump de memória do Kernel.

insira a descrição da imagem aqui

Portanto, se eu definir o arquivo de paginação na unidade G: como Sistema gerenciado na VM de teste 2016, seu tamanho será definido automaticamente pelo Windows e não aumentará quando estiver sob carga.Este é o cerne do problema, pois é uma mudança de comportamento do Windows Server 2008.


Meu último teste foi configurar o arquivo de paginação na unidade G: manualmente para 4096 - 8100 MB e executar a ferramenta testlimit64.exe com a opção -m novamente e, como você pode ver, o arquivo de paginação aumenta de 4 GB para ~ 8 GB

insira a descrição da imagem aqui insira a descrição da imagem aqui


Então aqui está minha pergunta: por que o Windows Server 2016 não aumenta o tamanho do arquivo de paginação quando definido como gerenciado pelo sistema? O que mudou entre o Windows Server 2008 e 2016 em relação a isso?

Muito obrigado por ler até o fim e por suas respostas.

Responder1

De acordo com Este artigo, para os arquivos de paginação gerenciados pelo sistema do Server 2016 são dimensionados de acordo com o seguinte:

3 × RAM or 4 GB, whichever is larger. This is then limited to the volume size ÷ 8. However it can grow to within 1 GB of free space on the volume if required for crash dump settings.

Para o Server 2008, afirma:

3 × RAM or 4 GB, whichever is larger

Parece que a regra 1/8 aplicada no Server 2016 é o que você está vendo.

Espero que ajude... Felicidades

informação relacionada