Quanto tempo demora para o Linux deixar caches?

1

Eu corro o seguinte para limpar arquivos em cache do sistema de arquivos / memória do sistema:

# echo 3 > /proc/sys/vm/drop_caches

Gostaria de fazer isso com base em scripts, para que, quando eu fizer o teste de E / S para comparar a velocidade de (digamos) dois binários diferentes, garanto que o estado particular do sistema de arquivos (e se os arquivos acessado em cache) minimiza qualquer variação nos resultados do teste de velocidade.

Minha pergunta é: Quanto tempo leva para o comando acima fazer sua mágica? Gostaria de saber se preciso adicionar algum tipo de pausa programática depois de executar o acima, para ajudar a estabelecer melhor a linha de base que estou procurando.

O efeito de limpeza é imediato e, caso contrário, qualquer atraso é mensurável?

    
por Alex Reynolds 04.06.2014 / 20:22

1 resposta

2

Apenas as coisas que podem ser eliminadas imediatamente são descartadas por esta operação. Portanto, embora seja instantâneo, é insuficiente para o seu propósito. Por exemplo, qualquer coisa que a operação anterior modificou e que ainda não foi liberada para o disco ainda está na RAM para a próxima operação.

Você provavelmente deseja executar sync e aguardar alguns instantes para que a atividade do disco pare antes de soltar.

    
por 04.06.2014 / 21:03

Tags