Desabilitar o buffer em uma configuração de VM

Desabilitar o buffer em uma configuração de VM

Estou executando algum benchmark usando um SGBD e máquinas virtuais. E estou usando este comando

free && sync && echo 3 > /proc/sys/vm/drop_caches && free

em cada convidado e em cada host, antes de executar uma consulta, para minimizar o efeito do cache/buffer no meu tempo de execução. Se os dados estiverem armazenados em cache/buffer, o tempo de execução de uma consulta poderá variar dependendo de qual consulta foi executada antes, porque uma parte do arquivo usado para responder à consulta pode estar na memória.

Eu vi esta postagem: Como você esvazia os buffers e o cache em um sistema Linux?

Mas para mim é um pouco complicado executar caches de sincronização/descarte após cada consulta. Preciso solicitar que cada VM e cada servidor físico sincronize/descarte caches. Eu poderia escrever um script e usar SSH para fazer isso, mas me pergunto se há uma maneira de evitar que o sistema operacional armazene em buffer/armazene em cache os arquivos porque seria mais fácil para mim.

Estou usando o Ubuntu 12.04 em todas as VMs (usando KVM) e servidores.

Responder1

Use algo comohttps://code.google.com/p/linux-ftools/marcar todos os arquivos utilizados pelo sistema de banco de dados como FADV_DONTNEED?

informação relacionada