Un poco más de swap…

exhausted4Antes que nada debo pedirles disculpas por la poca regularidad de mis posts últimamente. Luego de rendir el examen más largo de mi carrera, que me tomó todo el verano preparar, me quedaron muchas tareas pendientes y estoy tratando de ponerme al día. Espero que sepan disculpar.

Hoy les traigo algunos tips para darle un “respiro” a nuestras máquinas cuando tienen un consumo excesivo de RAM, aumentando un poco la swap de Linux. Esto no va a solucionar todos nuestros problemas (la swap es en definitiva memoria en el disco, cuya lectura es mucho más lenta que la RAM), pero puede darnos una pequeña ayudita para superar un momento de mucho uso.

Concretamente vamos a ver dos casos: crear y montar un archivo swap, y hacer lo propio con un pendrive usando swapboost.

Crear un archivo swap

Comenzaremos por este ejemplo que es el más sencillo y el más explicativo. Lo primero que debemos hacer es crear un archivo del tamaño que vamos a reservar para la swap con dd. Por ejemplo, para crear uno de 512 MB haremos:

dd if=/dev/zero of=/tmp/swapfile bs=1M count=512

Luego debemos crear un swapfile vacío con mkswap.

mkswap /tmp/swapfile

Por último montamos el archivo con swapon.

swapon /tmp/swapfile

Ahora podemos ver el archivo montado:

swapon -s
Filename                                Type            Size    Used    Priority
/dev/sdb6                               partition       497972  84032   -1
/tmp/swapfile                           file            524280  0       -2

Vemos en la última línea el archivo con 512 MB de swap y una prioridad secundaria respecto a nuestra partición swap.

Swapboost: crear swap en un flashdrive USB

Swapboost es un sencillo script en BASH que nos permite montar el espacio disponible de un dispositivo de almacenamiento USB como swap en forma sencilla. El procedimiento es sencillo.

Descargamos el script y le damos permisos de ejecución.

wget http://zelut.org/projects/misc/swapboost.sh
chmod +x swapboost.sh

Insertamos el pendrive y lo montamos (esto puede hacerse con mount o si estamos en un entorno gráfico como gnome o KDE, permitiéndo que éstos lo monten automáticamente), y ejecutamos:

./swapboost.sh -n

para crear una nueva swap en el espacio libre del USB. Ahora podemos revisar su uso con:

swapon -s

Por último, para borrar la swap creada y desmontar el USB ponemos:

./swapboost.sh -d

Más información en Ubuntu Tutorials [en inglés].

  1. Bitacoras.com - trackback on March 29, 2009 at 1:58 pm
  2. Aunque no he probado el script, la perdida de performance a la hora de usar swap en un usb tiene que ser brutal. ¿Alguien lo ha probado?

  3. No lo probé, pero tené en cuenta que el objetivo no es tanto mejorar la performance de la máquina sino darle cierto respiro en momentos críticos.
    Igual tené en cuenta que un pendrive al tener un SSD tiene tiempos de lectura mucho más rápidos que los de un disco rígido común, aunque por ahí los de escritura sean un poco más lentos.
    http://en.wikipedia.org/wiki/Solid-state_drive

  4. Esto tambien sirve para los VPS de DWH?

  5. Jeje no por dos razones… primero porque no creo que vayas a viajar a EUA a enchufar tu USB y en segundo porque el tipo de virtualización no admite manejo de swap a nivel de cada VPS.

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackbacks and Pingbacks: