Drop_caches não deixa cair caches?

1

Às vezes, vejo que meu arquivo de troca é um pouco maior do que o normal. Eu tentei sync && echo 3 > /proc/sys/vm/drop_caches sem sucesso. Mas quando eu tentei swapoff -a demora um pouco mais, mas o arquivo de swap é menor depois. Como posso limpar meu arquivo de swap sem usar swapoff ?

    
por Bytemain 05.11.2012 / 20:11

1 resposta

3

3 > drop_caches instrui o kernel a descartar todos os dados em cache (que não são mais necessários).

swapoff tentará extrair o máximo de dados que estão atualmente em swap, já que ele pode voltar para a memória. Também pode desencadear a queda de algumas páginas em cache para dar espaço para o que está chegando na memória do arquivo de troca.

Você realmente raramente precisa fazer isso, o kernel faz um bom trabalho ao decidir o que fazer com quais dados (por exemplo, se você está trabalhando com um arquivo grande, ele pode armazená-lo em cache e trocar a memória alocada para outro processo em execução que não é muito ativo).

Não tenho certeza se você está realmente usando um arquivo de troca como tal (isto é, um arquivo em um sistema de arquivos regular) ou apenas interpretando mal a saída de free , mas se você fizer isso, o que realmente pode ajudar é um swap dedicado partição, como você não vai encontrar qualquer sobrecarga de sistema de arquivos possível (mas o espaço seria reservado para o kernel usar, claro).

A propósito, se você usa tmpfs (geralmente montado em /dev/shm e atualmente frequentemente em /run e alguns outros lugares), quaisquer arquivos mantidos lá aparecerão como "armazenados em cache" em free

    
por 05.11.2012 / 22:45