10 septiembre 2006

Ampliando la swap

Esta es una operación que normalmante no hará falta hacer, pero puede darse el caso de, por ejemplo, tener 512 Mb de RAM en el equipo y ampliarla a 1 Gb (una operación bastante normal). Direis que con tanta RAM ya no hace falta más swap y, efectivamente, un sistema Linux actual prácticamente no va a usar la swap si dispone de 1 Gb de RAM. Entonces ¿por qué hacerlo?

Seguro que habreis leído más de una vez que la swap debe ser el doble que la RAM en equipos con poca memoria, y la misma cantidad que ésta en equipos más potentes. Cierto que casi no la vamos a usar, pero hay que tener en cuenta que, para que el equipo entre en hibernación, debe volcar todo el contenido de la RAM en la swap, para así poder recuperarlo al salir de la hibernación. Si tenemos menos swap que RAM no será posible hibernar la máquina.

Contrariamente a lo que pueda parecer, aumentar la swap es bastante sencillo: no será necesario tocar las particiones, ya que vamos a habilitar un archivo vacío para que actúe de espacio de intercambio.

Siguiendo con el ejemplo de antes, vamos a aumentar la swap en 512 Mb. Para ello creamos un archivo vacío de 512 Mb bajo /var (orden ante todo), al que podemos llamar, en un arranque de originalidad, /var/swap.

dd if=/dev/zero of=/var/swap bs=1024 count=512

Hecho. Ahora sólo tenemos que habilitar ese archivo para que sea usado como swap, y activarlo.

mkswap /var/swap
swapon /var/swap


A partir de estos momentos ya contamos con esos 512 Mb de swap extra. Podemos verlo haciendo simplemente

free -otm

Sin embargo, al reiniciar perderemos esta swap. Para que el cambio sea permanente, editamos el archivo /etc/fstab y le añadimos una entrada como ésta:

/var/swap none swap sw 0 0

Listo. Ahora contamos con esos 512 Mb de swap de forma permanente. Y no ha hecho falta tocar la tabla de particiones para nada :)

No hay comentarios: