Como eu poderia limitar ou até mesmo desativar o cache de arquivos no Windows Server 2008R2?

9

Existe uma máquina, com uma matriz RAID muito rápida e uma conexão rápida à Internet. Mas, ele só tem 8GB de memória, o que se esgota realmente rápido, quando o upload sobe.

Alguma idéia de como eu poderia desativar ou limitar o cache?
(Eu tentei desativar o cache de gravação do Gerenciador de dispositivos. Mas isso é apenas gravar o cache, e isso não ajudou.)

    
por Shiki 08.05.2012 / 21:25

4 respostas

4

O ponto principal do cache é que ele usa inutilizado ram e desiste assim que um aplicativo solicita mais. Assim, você não quer limitar seu tamanho, pois isso deixaria a ram livre completamente desperdiçada.

    
por 09.05.2012 / 00:10
3

Você precisa chamar a API do sistema SetSystemFileCacheSize ()
Documentado aqui: link

Alguns programas de GUI permitem isso: link
Mas você pode preferir CLI, para executá-lo automaticamente na inicialização do sistema: link (procure no meio da página, funciona para 2k8)

Ou apenas escreva um script do PowerShell chamando SetSystemFileCacheSize ()

Observe que não é recomendável desabilitar o cache para uso em produção.
É freqüente limitar o tamanho do cache a um valor pequeno para máquinas virtualizadas, e não desativá-lo.

    
por 08.05.2012 / 22:32
2

Também experimentamos esse problema no Windows Server 2008 R2 em nossa empresa. No nosso caso, a máquina ficou totalmente presa. Parece ser um bug nesta versão do servidor do Windows, porque não ocorreu sob as mesmas circunstâncias, tanto na minha máquina muito menor do Windows 7 em execução no VirtualBox, ou no Linux.

Você pode definir o cache para um determinado limite com uma API, já que outras já foram postadas, mas você pode encontrar aplicativos para usá-la diretamente, como SetSystemFileCacheSize.exe ou NT Cache Setter .

A desvantagem é que você precisa definir o cache após cada reinicialização. Você também pode liberar todo o cache de uma só vez com isso.

Definimos o cache de arquivos em nossa VM com 14 GB de RAM para 4 GB e funciona. Também flush funciona muito bem e você pode vê-lo diretamente no Gerenciador de Tarefas.

Amostras de linha de comando:

  • Mostrar as configurações atuais do Windows:

    SetSystemFileCacheSize.exe
    
  • Mostrar ajuda:

    SetSystemFileCacheSize.exe /?
    
  • Defina o tamanho mínimo para 8 MB e o tamanho máximo para 128 MB:

    SetSystemFileCacheSize.exe 8 128
    
  • Desative o tamanho mínimo e configure o tamanho máximo para 128 MB:

    SetSystemFileCacheSize.exe off 128
    
  • Desativar tamanho mínimo e máximo:

    SetSystemFileCacheSize.exe off off
    
  • Limpe o cache de arquivos:

    SetSystemFileCacheSize.exe flush
    

Nota: a ferramenta deve ser iniciada com privilégios de administrador.

    
por 12.04.2013 / 22:36
0

Para limitar o cache de arquivos, certifique-se de que a opção Máximo de desempenho de compartilhamento de arquivos não esteja ativada e você pode especificar a quantidade mínima de cache de arquivos de memória selecionando Minimizar a memória usada ou Saldo.

Para verificar a configuração atual, vá para: Iniciar- > Painel de controle- > Conexões de rede- > Conexão local- > Na guia Geral, Propriedades- > Selecione Arquivo e Impressora- > Propriedades. se a opção Maximizar estiver selecionada, escolha qualquer outra opção.

    
por 08.05.2012 / 22:18