Manipulando a memória RAM e a SWAP

Alguma vez você já precisou limpar o cache da memória RAM ou SWAP no linux ?

O Linux utiliza o espaço na memória cache para salvar programas e comandos que foram utilizados recentemente, isso permite executá-los mais rapidamente no futuro. É interessante saber manipular esse espaço na memória, vejamos como:

Limpando o cache da RAM

$ sync
$ echo 3 > /proc/sys/vm/drop_caches

Ou podemos usar o sysctl para configurar parâmetros de kernel em runtime:

$ sysctl vm.drop_caches=3
  • o sync faz com que todos os arquivos de cache do sistema sejam descarregados da memória e armazenados em disco, assim não perdemos os dados que estão na RAM
  • a opção 3 faz o kernel liberar pagecache, dentries e inodes
  • outras opções: 1 faz o kernel liberar somente pagecache, 2 libera inodes e pagecache
  • para saber mais: Drop Caches e Sysctl vm

Controlando a SWAP

É possível configurar e controlar o comportamento da SWAP através de um parâmetro do kernel no arquivo /proc/sys/vm/swappiness. Este arquivo contém um número de 0 a 100, onde o sistema determina a predisposição para fazer uso da SWAP.

Um número baixo faz com que ele use a SWAP apenas em situações extremas, enquanto que um número maior aumenta o uso de SWAP e mantém a memória RAM com mais espaço livre.

Aumentar ou diminuir o uso de SWAP:

$ echo "90" > /proc/sys/vm/swappiness
$ echo "10" > /proc/sys/vm/swappiness

ou use o sysctl para passar esses parâmetros de kernel em runtime

$ sysctl vm.swappiness=20

No final lembre-se de resetar a SWAP para validar as configurações:

$ swapoff -a
$ swapon -a

Comentários