Archivo Swap: Mejorando la memoria de Ubuntu 14

Luego de que varios de mis sitios se cayeran por falta de memoria (y yo que pensaba que era MySQL que no funcionaba) leí que los errores eran por falta de distribución de memoria.

Para eso existen los Swap. Swap es un area en el disco duro que designa un lugar en donde el sistema operativo puede guardar data temporalmente que no se puede mantener en el RAM.

Hice el paso a paso en mi servidor de Digital Ocean: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04 pero luego encontré un script para poder aplicarlo automáticamente al servidor si tener que pasar por cada uno de los pasos.

Presentamos a:

SwapUbuntu

https://github.com/CraftThatBlock/SwapUbuntu

Lo mas sencillo es:

  1. Entras como administrador via SSH en tu servidor
  2. Descargas el archivo
    wget http://git.io/MJDcxw -O swap
  3. Corres el script y asignas el espacio que necesitas (ellos ponen 2G, pero en mi caso usé 4G)
    sh swap {size}
  4. Listo

Lo que hace:

  • Crea el archivo
    /swapfile
  • Asigna la cantidad asignada de espacio que necesitas
  • Cambia los permisos en el archivo para que sea legible
  • Le cambia el parametro swappiness que configura que tan frecuente el sistema debe hacer el swap de data del RAM. Pone el valor 10 (ideal para que el sistema use el swap solo para lo necesario)
  • Cambia el vfs_cache_pressure a 50. Básicamente, esto accesa data sobre el sistema de archivos. Esto generalmente es costoso de verificar y se requiere frecuentemente, así que es buena idea que el sistema lo tenga en cache.
  • Todo los cambios los agrega en el sistema para que funcionen predeterminadamente cuando reinicies el sistema.

Luego siempre es bueno reiniciar el servidor para que los cambios se activen.

# sudo reboot now

Atento y gracias 🙂