CORREÇÃO: uso pesado da memória em ReFS no Windows

Sintomas

Você percebe o uso intenso da memória em um computador que está executando o Windows 10, o Windows Server 2016, o Windows Server 2019, o Windows Server, o 1903 ou o Windows Server, versão 1909.

Causa

Para fornecer maior resiliência para seus metadados, o ReFS (sistema de arquivos resilientes) no Windows Server 2016 usa semântica de alocação ao gravar para todas as atualizações de metadados. Isso significa que ReFS nunca faz atualizações in-loco para metadados. Em vez disso, ele faz todas as gravações em regiões alocadas recentemente.

No entanto, a alocação-na gravação faz com que ReFS emita mais metadados e/s para novas regiões do volume do que sistemas de arquivos gravados no local.Além disso, ReFS usa lógica de cache de bloco para armazenar em cache seus metadados na RAM. Isso não é tão eficiente em termos de recursos como lógica de cache de arquivos.

Juntos, as semânticas de cache de bloco ReFS e de alocação para gravação fazem com que os fluxos de metadados ReFS sejam grandes. ReFS usa o Gerenciador de cache para criar os fluxos de metadados, e o Gerenciador de cache desmapeia ociosamente os modos de exibição inativos. Em algumas situações, esse desmapeamento preguiçoso faz com que o conjunto de trabalho ativo do servidor cresça. Isso cria uma pressão de memória que pode causar baixo desempenho.

Resolução

Esse problema é resolvido na atualização cumulativa 4013429 lançada em 14 de março de 2017. A atualização introduz três parâmetros ajustáveis do registro. (Consulte a seção "solução alternativa".)

A atualização cumulativa 4013429 está disponível por meio do Windows Update. Você também pode baixá-lo diretamente por meio do catálogo do Microsoft Update.

Para obter mais informações, consulte o seguinte artigo da Base de Dados de Conhecimento Microsoft:

4013429 a 14 de março de 2017 — KB4013429 (Build do sistema operacional 14393,953)

Como definir os parâmetros ajustáveis

Esta atualização fornece três parâmetros ajustáveis do registro para atender a grandes fluxos de metadados ReFS. Você pode usar os seguintes métodos opcionais para definir os parâmetros. Esses parâmetros podem ser usados em qualquer combinação porque não se sobrepõem à função.

Importante

  • Uma reinicialização é necessária para que essas alterações de parâmetro entrem em vigor.

  • Esses parâmetros devem ser definidos consistentemente em todos os nós de um cluster de failover.

Opção 1

Esta opção faz com que ReFS Experimente um cantais completo de todos os fluxos de metadados em cada ponto de verificação. Essa opção produzirá o resultado esperado apenas se o volume estiver ocioso e não tiver páginas mapeadas.

Especifique os valores indicados na subchave a seguir:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Nome do valor : RefsEnableLargeWorkingSetTrimSet RefsEnableLargeWorkingSetTrim = 1

Tipo de valor: REG_DWORD

Opção 2

ReFS tem uma lógica de desmapeamento lento MM. Portanto, quando ReFS circula o namespace inteiro para concluir um cano mapeamento MM, ele não mapeia em uma determinada granularidade. A quantidade de espaço de endereço virtual que não está mapeado é determinada pela seguinte fórmula:

RefsNumberOfChunksToTrim * 128MB (para volume de tamanho > 10 TB)

RefsNumberOfChunksToTrim * 64MB (para volume de tamanho < 10 TB)

Essa opção funcionará se o intervalo VA que está sendo cancedido não tiver nenhuma referência ativa (ou seja, as páginas de metadados mapeadas).

Especifique os valores indicados na subchave a seguir:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Nome do valor: RefsNumberOfChunksToTrim

Tipo de valor: REG_DWORD

PADRÃO (se não definido ou 0): 4

Observação Configuração RefsNumberOfChunksToTrim valores mais altos fazem ReFS para aparar mais agressivamente. Isso reduz a quantidade de memória que está sendo usada. Defina o valor de arrumar para um número apropriado: 8, 16, 32 e assim por diante.

Opção 3

Nessa opção, ReFS envia um corte em MM embutido ao desmapear sua página de metadados. Essa é a opção mais agressiva porque pode causar a regressão de desempenho se ReFS for usado em mídia de alto desempenho, como uma SSD ou uma NVMe.

Especifique os valores indicados na subchave a seguir:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Nome do valor: RefsEnableInlineTrim

Tipo de valor: REG_DWORD

Definir RefsEnableInlineTrim = 1

Recomendação

Se um grande conjunto de trabalho ativo causar um desempenho ruim, primeiro tente definir RefsEnableLargeWorkingSetTrim = 1. Se essa configuração não produzir um resultado satisfatório, tente valores diferentes para RefsNumberOfChunksToTrim, como 8, 16, 32 e assim por diante. Se isso ainda não fornecer o efeito desejado, defina RefsEnableInlineTrim = 1

Informações adicionais

Para atualizar seus metadados, o ReFS usa o redimensionamento em gravação em vez de escrever no lugar para melhorar a resiliência para corrupção.

O Write-in-loco é suscetível a gravações rasgadas. Isso ocorrerá se uma falha de energia ou uma desmontagem inesperada causar uma gravação apenas parcialmente concluída.

A alocação-na gravação habilita ReFS para manter a consistência dos metadados após uma falha de energia ou desmontagem inesperada. Isso ocorre porque ReFS ainda pode fazer referência à cópia de metadados consistente anterior.

Referências

Visão geral sobre o sistema de arquivos resiliente (ReFS)

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×