Twisty está correto de que não há nenhuma ferramenta nativa no Windows para fazer isso.
No entanto, ao fazer mais pesquisas e testes, parece que nem mesmo a ferramenta Sync da SysInternals limpa a memória usada pelo Windows para armazenar em cache arquivos e dados - também conhecidos como cache do sistema de arquivos, e que o Windows chama > memória de espera . Isso pode ser demonstrado usando o RAMMap , outra ferramenta SysInternals que monitora todas as alocações de memória no Windows. Inspecionar a coluna Standby Memory do RAMMap antes e depois de executar a ferramenta Sync
mostra que a memória de espera do Windows permanece praticamente inalterada antes e depois de executar Sync
. De fato, Sync
parece não ter qualquer efeito perceptível na memória, o que, até onde posso dizer, torna-o essencialmente inútil para os propósitos do teste de desempenho.
Eu descobri um método programático eficaz para limpar a lista de espera do Windows, no entanto, na forma de EmptyStandbyList. exe , um programa de linha de comando simples de Wen Jia Liu:
EmptyStandbyList.exe is a command line tool for Windows (Vista and above) that can empty:
- process working sets
- the modified page list
- the standby lists (priorities 0 to 7)
- the priority 0 standby list only
Para usá-lo, você precisa garantir que o arquivo EmptyStandbyList.exe esteja em um local dentro da variável de ambiente PATH do seu sistema, então chame EmptyStandbyList.exe
do shell ou de um script quando você precisar para liberar memória.
Em CMD
:
EmptyStandbyList.exe
E em bash
:
cmd \/c EmptyStandbyList.exe
Para confirmar que a memória de espera do Windows foi limpa com sucesso após a execução, você pode usar novamente o RAMMap.