Partilhar via


Melhorias no cache e no gerenciador de memória

Este tópico descreve os aprimoramentos do Gerenciador de Cache e do Gerenciador de Memória no Windows Server 2012 e 2016.

Melhorias do Gerenciador de Cache no Windows Server 2022

O gerenciador de cache agora está ciente de NUMA, o que garante que o sistema seja melhor em evitar a movimentação de dados através dos limites do NUMA. Evitar que um nó NUMA aceda à memória e a outros recursos do kernel em outro nó NUMA gera muita sobrecarga. Ao tornar o gerenciador de cache compatível com NUMA, eliminamos esses saltos entre NUMA, o que otimiza assim as cargas de trabalho de entrada/saída em cache executadas em configurações de múltiplos nós.

Aprimoramentos do Gerenciador de Cache no Windows Server 2019

Adicionamos suporte Zero-Copy para armazenamento de memória persistente (PMEM). Para obter mais informações sobre memória persistente, consulte Compreender e implantar memória persistente. No modo Direct Access (DAX), o PMEM opera como memória para obter a menor latência, onde evitamos uma cópia redundante dos dados e evitamos muita sobrecarga do sistema de arquivos Mini-Filters e da pilha de armazenamento. Este modo só funciona com NTFS como um sistema de ficheiros.

Aprimoramentos do Gerenciador de Cache no Windows Server 2016

O Gerenciador de Cache também adicionou suporte para leituras em cache assíncronas verdadeiras. Isso pode melhorar o desempenho de um aplicativo se ele depender muito de leituras em cache assíncronas.  Embora a maioria dos sistemas de arquivos in-box tenha suportado leituras em cache assíncronas por um tempo, muitas vezes havia limitações de desempenho devido a várias opções de design relacionadas à manipulação de pools de threads e filas de trabalho internas dos sistemas de arquivos.  Com o suporte do kernel propriamente dito, o Cache Manager agora oculta todas as complexidades de gerenciamento de threads e filas de trabalho dos sistemas de arquivos, tornando-o mais eficiente no tratamento de leituras em cache assíncronas. O Gerenciador de Cache tem um conjunto de estruturas de dados de controle para cada um dos níveis de aninhamento VHD (máximo suportado pelo sistema) para maximizar o paralelismo.

Aprimoramentos do Gerenciador de Cache no Windows Server 2012

Além dos aprimoramentos do Gerenciador de Cache para lógica de leitura antecipada para cargas de trabalho sequenciais, uma nova API CcSetReadAheadGranularityEx foi adicionada para permitir que os drivers do sistema de arquivos, como SMB, alterem seus parâmetros de leitura antecipada. Ele permite uma melhor taxa de transferência para cenários de arquivos remotos, enviando várias solicitações de leitura antecipada de pequeno porte, em vez de enviar uma única solicitação de leitura antecipada grande. Somente componentes do kernel, como drivers de sistema de arquivos, podem configurar programaticamente esses valores por arquivo.

Melhorias do Gerenciador de memória no Windows Server 2012

Ativar a combinação de páginas pode reduzir o uso de memória em servidores, que têm muitas páginas privadas pagináveis com conteúdo idêntico. Por exemplo, servidores que executam várias instâncias do mesmo aplicativo que consome muita memória ou um único aplicativo que funciona com dados altamente repetitivos podem ser bons candidatos para tentar combinar páginas. A desvantagem de habilitar a combinação de páginas é o aumento do uso da CPU.

Aqui estão alguns exemplos de funções de servidor em que é improvável que a combinação de páginas traga muitos benefícios:

  • Servidores de ficheiros (a maior parte da memória é consumida por páginas de ficheiros que não são privadas e, portanto, não combináveis)

  • Microsoft SQL Servers configurados para usar AWE ou páginas grandes (a maior parte da memória é privada, mas não paginável)

A combinação de páginas é desabilitada por padrão, mas pode ser habilitada usando o cmdlet Enable-MMAgent do Windows PowerShell. A combinação de páginas foi adicionada no Windows Server 2012.