Tunear la SWAP en servidores GNU Linux con swappiness

La SWAP es un área de intercambio de disco, que se usa para guardar las imágenes de los procesos, que no han de mantenerse en la memoria física. Aunque tiende a estar en desuso, ya que actualmente los nuevos equipos tienen mucha memoria, hasta 16 GB o 32 GB de memoria RAM en equipos doméstico, o Terabytes en servidores corporativos; lo cierto es que suele configurarse por defecto. La mejor manera de modificar su funcionamiento, es modificando el parámetro ‘swappiness’, en la configuración del sistema

En algunos casos los parámetros de fábrica, de dicha área, no son los más óptimos para nuestro sistema. Hay que tener en cuenta, que para calcular dicha memoria, debemos utilizar la siguiente fórmula:

Memoria volátil (total) / 100 = A
A * 10

Para comprobar a que porcentaje de uso de memoria volátil se empieza a utilizar la SWAP, podemos visualizar dicho dato, utilizando el siguiente comando:

  1. sysctl –a | grep –i swap

De esta manera nos devolverá una información similar a la siguiente:

  1. vm.swappiness = 60

¿Qué quiere decir esta cantidad? Significa que en el sistema empezará a utilizar la memoria SWAP, cuando la RAM pase del 40 % de uso. Si nos interesa modificar dicho parámetro, para que el uso de la memoria transaccional sea diferente, debemos modificar el parámetro ‘swappiness’, para ello editamos el fichero:

  1. vi /proc/sys/vm/swappiness

Y modificamos el porcentaje.

Otra manera es mediante el comando:

  1. Sysctl vm.spappiness=20

De esta manera la SWAP comenzará a utilizarse cuando el uso de la RAM pase del 80 %

Hay que tener en cuenta que una vez que se modifique el parámetro hay que reiniciarla, mediante:

  1. swapoff –a
  2. swapon –a

Con esto ya lo tenemos listo. Nos leemos en la próxima!

Para saber más os recomiendo el siguiente enlace de los foros de Ubuntu (en inglés)

How do I configure swappiness?

Fuente imagen | Flickr