O Linux mantém em memória os dados recentemente carregados do disco, e ali eles ficam enquanto possível. Isso acelera o processo de carregamento destes mesmos dados no futuro, como na execução de programas e leitura de arquivos.

As áreas na memória que carregam esses dados chamam-se caches. Você pode notar os caches em ação quando roda um programa pela segunda vez e ele carrega muito mais rapidamente que na primeira.

computer-memory-pyramid

Mas às vezes é necessário fazer algum teste onde esse efeito de cache deve ser anulado, por exemplo, medir tempo de carregamento de um programa, ou o tempo necessário para processar algum arquivo. Já vi gente reiniciando a máquina só para poder ter uma medição confiável no tempo de carregamento de um programa.

Outro ponto é quando temos por exemplo um servidor em que ao dar um simples df -h notamos que alguns diretórios (como o /var) estão lotados e mesmo limpando arquivos desnecessários nestes diretórios o tamanho do mesmo não diminui.

Para economizar nosso tempo e paciência, e ter um efeito semelhante sem precisar reiniciar a máquina, podemos pedir ao kernel que limpe todos os caches que estiverem em memória. Basta usar uma entrada no /proc, existente nas versões mais recentes do kernel, rodando o comando:

Exemplos:

O comando sync faz com que todo o cache do sistema de aquivos que está temporariamente armazenado na memória cache, seja despejado em disco e liberado, prevenindo assim que se tenha perda de dados.

# sync

Outra forma de limparmos o disco é alterarmos os seguintes arquivos:

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

Segue as opções:

Liberar apenas pagecache:

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

Liberar pagecache e inodes:

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

Faz o papel dos dois anteriores e também libera dentries: 

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

Obs: echo 3 só funcionará no kernel a partir da versão 2.6.16.

Tambem é possível  manipular os files do proc. utilizando o comando “sysctl”:

# sysctl vm.drop_caches=1

# sysctl vm.drop_caches=2

# sysctl vm.drop_caches=3

 

Fonte

Source: Freed sejalivre