El kernel de Linux divide su memoria física RAM en capas de memoria llamadas páginas. En ocasiones dichas páginas necesitan copiarse en un área del disco para así liberar memoria RAM. Este proceso se conoce con el nombre de swapping y el espacio donde se copia la página es conocido como espacio swap o área de intercambio.
En todas las imágenes de GNU/Linux, tanto Debian, Centos como Ubuntu, se configuran con esta área de intercambio mencionada anteriormente.
Generalmente este espacio de disco es normalmente una partición del disco que se suele añadir al final, pero también puede ser un fichero. En Clouding hemos optado por utilizar un fichero swap o swapfile de 128 MB como máximo. Un fichero ofrece la posibilidad de variar su tamaño sobre la marcha y es más fácil de eliminar por completo.
Usamos un swapfile en lugar de una partición porque es más flexible para el usuario final. De esta manera el usuario puede hacer más grande el fichero si así lo necesita sin tener que agrandar una partición.
free -h
Como se muestra en la imagen de arriba, podemos observar que tenemos un fichero swap de 128 MB y en la siguiente que está alojado en /swap/swapfile.
cat /etc/fstab | grep swap
Y vemos que el fichero se monta durante el arranque como área de intercambio.
Crear un fichero swap más grande
En el caso de que se desee tener un swapfile con un tamaño más grande tan solo deberéis de seguir los siguientes pasos.
Creamos el fichero que hará de swapfile y le indicamos con el parámetro -l (lenght) de cuantos MB queremos que sea este fichero:
fallocate -l 512MB /swap/newswapfile
O también:
dd if=/dev/zero of=/swap/newswapfile bs=1M count=512
Establecemos los permisos correctos para un fichero swap:
chmod 600 /swap/newswapfile
Después de crear el fichero swap de un tamaño especifico, es necesario darle formato a swap:
mkswap /swap/newswapfile
Y activamos el nuevo fichero swap:
swapon /swap/newswapfile
Desactivamos el swapfile antiguo:
swapoff /swap/swapfile1
Finalmente modificamos la entrada en /etc/fstab:
/swap/newswapfile swap swap defaults 0 0
Una vez realizado todos estos pasos, podremos mostrar el resumen del uso del swapfile:
swapon -s