Sempre me perguntei 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 laptop, mas com muita memória de sistema disponível? Você não deveria ser capaz de maximizar essa memória para acelerar o acesso ao disco rígido?
Eu encontrei um ajuste ligeiramente documentado que permitirá que você diga ao Windows para usar mais cache para o "pool" NTFS, o que deve aumentar o desempenho se o seu sistema abrir e fechar muitos arquivos o tempo todo como o meu.
De acordo com Documentação da Microsoft :
O aumento da memória física nem sempre aumenta a quantidade de memória de pool paginada disponível para NTFS. Configuração uso de memória para 2 aumenta o limite de memória pool paginada. Isso pode melhorar o desempenho se o seu sistema estiver abrindo e fechando muitos arquivos no mesmo conjunto de arquivos e ainda não estiver usando grandes quantidades de memória do sistema para outros aplicativos ou para memória cache. Se o computador já estiver usando uma grande quantidade de memória do sistema para outros aplicativos ou para memória cache, aumentar o limite de memória de pool NTFS paginada e não paginada reduz a memória de pool disponível para outros processos. Isso pode reduzir o desempenho geral do sistema.
Eu mesmo testarei essa mudança e realmente espero receber feedback de nossos excelentes leitores sobre isso. Observe que ainda não executei nenhum benchmark, então ainda não posso confirmar se isso produz algum benefício importante no desempenho do mundo real.
Hack de linha de comando
Abra um prompt de comando do modo Administrador clicando com o botão direito 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 do 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:
comportamento fsutil conjunto memoryusage 1
Como sempre, essas configurações “ligeiramente” documentadas podem bagunçar seu sistema, portanto execute por sua própria conta e risco. Além disso, você provavelmente terá que reiniciar a máquina para ver qualquer diferença.
Manual Registry Hack
Você também pode definir esse valor alterando um parâmetro de registro. Abra o regedit.exe por meio da caixa de pesquisa ou execução do menu iniciar e, a seguir, navegue até a seguinte chave:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
Clique duas vezes na chave NtfsMemoryUsage no lado direito e altere o valor para 2. Aqui estão os valores disponíveis:
- 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 chave é definida como “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 voltar ao padrão.
Essa configuração também funciona no Windows Server 2003.