swap

La memoria de intercambio o swap a grandes rasgos es una memoria “RAM” que se crea en el disco duro la cual es utilizada cuando las memorias físicas llegan a su tope, esto en ocasiones es bueno como también es malo, ya que cuando dicha swap es utilizada, el nivel de consulta del disco duro (Lectura/Escritura) se ve reducido en un porcentaje notorio. En esta Guia vamos a ver como podemos administrar adecuadamente dicha memoria para nuestros servidores y estaciones de trabajo Linux.

Asi que en modo FAQ resolveré algunas dudas sobre esta:

1. Tengo 16 GB en mi estación/servidor, hace falta la swap?

Según los requerimientos de esta maquina, si es utilizada por procesos que requieran alta capacidad de la memoria es netamente recomendable, pero si crees que “nunca” llegara a copar esta memoria no es estrictamente necesario crearla, pero por precaución hacia futuro es mejor tenerla.

2. Cuanta SWAP es recomendada asignar?

La swap va según la ram que se posea, si se tiene menos de 1 GB se multiplica la cantidad que se tiene por 2, asi que si tienes 512MB de ram se recomienda 1GB de swap. Si se posee mas de 1GB se recomienda tener la misma cantidad de swap, así que si tiene 16GB de ram, serian 16GB de swap.

3. Sobre que sistemas se recomienda aplicar swap?

Es recomendable en aquellos equipos que se usen para diseño gráfico, modelado 3D etc. Además en aquellos sistemas donde no tiene mas módulos o capacidad para la administración de mas memoria RAM.

4. Puedo aumentar, cambiar la swap?

Si, pero con privilegios de administrador, es mas, para una mejor administración de esta, es mejor crear la swap bajo un archivo mas no en una partición, ya que cuando se desee aumentar la swap solo es cambiar el tamaño de este archivo y listo y no se requerirá el cambio de una partición completa.

Bueno ya solucionadas algunas dudas sobre la swap, procederemos a gestionarla.

Lo primero que vamos a hacer es crear la swap en un archivo del directorio raiz.

dd if=/dev/zero of=/swap bs=1024 count=1048576

El count=1048576 lo podemos cambiar según nuestra necesidad, multiplicando la cantidad de megas por 1024, en esta ocasión serian solamente 1024MB de swap.

Luego crearemos y damos formato al archivo creado para que sea reconocio como swap.

mkswap /swap

Luego la activamos.

swapon /swap

Verificamos que la swap este montada con el comando free.

             total       used       free     shared    buffers     cached
Mem:       3352568    2946932     405636          0      81908     741276
-/+ buffers/cache:    2123748    1228820
Swap:      1048576      34832    3360748

Pero esto es valido para la sesión actual, para que cada vez que se reinicie el sistema por X o Y motivo debemos de configurar el archivo fstab para que monte la swap al iniciar el sistema.

echo “/swap swap swap deafults 0 0” >> /etc/fstab

Nota: Esta configuración se hace donde NO hay una swap configurada en una partición. (Aunque se pueden tener varias swaps)

Por defecto Linux coloca que el sistema use mucho la swap.

cat /proc/sys/vm/swappiness

Como observamos, tenemos un valor de 60 (Puede variar), este valor se puede establecer desde un 0 hasta un 100, siendo 100 el uso máximo de la swap.
Esto es un uso excesivo de la swap, pero nuestra recomendación es dejarla en 20 para que el sistema no use tanto el disco y no ponga lento el sistema cuando todavía hay espacio en la memoria física.

echo 20 > /proc/sys/vm/swappiness

Pero esto no es permanente, se restablecerá cuando se reinicie el sistema, pero si se desea que sea permanente toca editar el archivo sysctl.conf.

nano /etc/sysctl.conf

y al final del archivo escribimos vm.swappiness = 10.