Configurar Swap en Linux
Con el auge de los servidores baratos, ya sea VPS o dedicados, cada vez es mas común que cualquier pequeña página tenga que administrar su propio servidor, un aspecto que es fácilmente ignorado o incluso olvidado es el espacio swap, y puede tener una grandes repercusiones en el rendimiento.
¿Que es el espacio swap?
Swap es usado cuando Linux llena toda la memoria RAM física disponible. Si el sistema tiene swap habilitado, datos almacenados en RAM que no están siendo usados son movidos a swap temporalmente para liberar espacio. Con esto se consigue que en momentos puntuales en los que la carga del sistema es alta, exista espacio extra hasta que pase la congestión.
El espacio swap tiene sus limitaciones, al estar normalmente localizado en algún medio de almacenamiento masivo, ya sea un disco duro o SSD, tienen un tiempo de acceso y velocidad de transferencia ordenes de magnitud peores que la memoria RAM. Por eso un sistema que usa swap de manera continuada tendrá un mal rendimiento, e indica que no tiene suficiente memoria RAM y es momento de una ampliación.
Configurar swap en Linux
El primer paso es comprobar si swap ya está activado en el sistema.
$ free -m
total used free shared buffers cached
Mem: 7709 5009 2699 312 55 1198
-/+ buffers/cache: 756 3953
Swap: 0 0 0
Con free podemos ver la memoria disponible en el sistema, en caso de que swap no esté activado deberá aparecer ceros en la linea de swap.
Si no esta activado el siguiente paso es crear el archivo que se usara como swap
$ sudo dd if=/dev/zero of=/swapfile bs=8G count=4
$ sudo chmod 600 /swapfile
Esto crea un archivo de 8GB (recomendado que su tamaño sea el doble que la RAM), y cambia los permisos para que no pueda ser leído mas que por el root. Tras esto hay que crear el espacio swap en el archivo.
$ sudo mkswap /swapfile
Configurando espacio de intercambio versión 1, tamaño = 4194300 kiB
sin etiqueta, UUID=7f2020e5-0a09-4f1b-b0af-3053e94f17e2
Para activar swap
$ sudo swapon /swapfile
Antes de continuar es recomendable usar free para comprobar que todo ha funcionado correctamente.
$ free -m
total used free shared buffers cached
Mem: 7709 6626 1082 463 189 2464
-/+ buffers/cache: 350 3736
Swap: 7980 1029 6951
Por último es necesario configurar fstab para que swap se active al arrancar el sistema. Con tu editor favorito añade lo siguiente a fstab.
/swapfile none swap sw 0 0
Y eso es todo, un tutorial MUY básico de como activar swap.