Eu sempre quis saber por que o Windows não permite que você defina um tamanho arbitrário para o cache do sistema de arquivos. E se você tiver um disco rígido lento no seu laptop, mas um monte de memória do sistema disponível? Você não pode maximizar essa memória para acelerar o acesso ao disco rígido?
Encontrei um ajuste ligeiramente documentado que permitirá que você diga ao Windows para usar mais cache para o "pool" de NTFS, o que deve aumentar o desempenho se o sistema abrir e fechar muitos arquivos o tempo todo, como o meu.
De acordo com a documentação da Microsoft:
Increasing physical memory does not always increase the amount of paged pool memory available to NTFS. Setting memoryusage to 2 raises the limit of paged pool memory. This might improve performance if your system is opening and closing many files in the same file set and is not already using large amounts of system memory for other applications or for cache memory. If your computer is already using large amounts of system memory for other applications or for cache memory, increasing the limit of NTFS paged and non-paged pool memory reduces the available pool memory for other processes. This might reduce overall system performance.
Eu mesmo estarei testando essa mudança, e espero obter feedback de nossos excelentes leitores sobre isso. Observe que não gerenciei nenhuma referência ainda, por isso ainda não posso confirmar se isso gera algum benefício importante no desempenho no mundo real.
Corte de linha de comando
Abra um prompt de comando no modo Administrador clicando com o botão direito do mouse e escolhendo Executar como Administrador ou digite cmd na caixa de pesquisa do menu Iniciar e use Ctrl + Shift + Enter.
Digite o seguinte comando para aumentar a configuração de cache:
fsutil behavior set memoryusage 2
Para verificar o valor atual, digite este comando:
fsutil behavior query memoryusage
Para alterar a configuração de volta ao padrão, use este comando:
fsutil behavior set memoryusage 1
Corte manual do registro
Você também pode definir esse valor alterando um parâmetro do registro. Abra regedit.exe por meio da caixa de pesquisa ou execução do menu Iniciar e, em seguida, navegue até a seguinte chave:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
- Não definido: 0
- Definir como padrão: 1
- Aumentar Cache: 2
De acordo com a documentação, a configuração padrão é “1”, mas, por padrão, a tecla é ajustada para “0”. Normalmente, nesse cenário, a configuração de “0” significa “Não definido”, o que significa que o sistema usa a configuração padrão. Você deve ser capaz de alterar o valor para "0" ou "1" para alterar isso de volta para o padrão.
Essa configuração também funciona no Windows Server 2003.