Crear un archivo de swap

De Guía Ubuntu

Normalmente el swap que usamos en nuestro sistema es una partición que creamos en el proceso de instalación. Una regla empírica nos dice que el espacio de swap que hay que reservar es el doble de la RAM que tenga nuestro sistema. Pero claro, todo depende del uso que le vayamos a dar al equipo. En caso de usarse como servidor de aplicaciones o de muchas cuentas correo es posible que sea necesario más espacio de intercambio. Vamos, que será tu experiencia la que te guíe en este aspecto.

Como referencia, mi máquina la uso para desarrollar aplicaciones Java J2EE con el servidor JBoss, lo cual requiere bastante memoria. Tengo 1 Giga de RAM y la parción de intercambio es también de 1 Giga y no necesito más. ¿Se incumple aquí la regla mágica del doble de la memoria físca? Si y no. Tan sólo es una guía, no una ley.

Si en un momento dado vemos que nos hemos quedado cortos con la partición de swap, podemos crear otra si tenemos espacio en disco. Como normalmente se tiende a ocupar todo el disco, puede que no tengamos ese espacio libre y tengamos que redimensionar alguna partición. Si no quieres complicarte la vida tanto, puedes crear un fichero que te sirva de partición de intercambio.

Veamos como crear una partición de swap de 256 Megas:

$ sudo dd if=/dev/zero of=/media/swapfile bs=1M count=256
$ sudo mkswap /media/swapfile

Y así la activamos:

$ sudo swapon /media/swapfile

Ahora ya la estamos usando. Para verificar que todo ha ido bien:

$ free
$ cat /proc/swaps

Veremos respectivamente como el espacio de swap tiene que haber aumentado, y los espacios de intercabio activos.

Y para activarlo al arranque:

 $ sudo gedit /etc/fstab

Y añadimos:

/media/swapfile	swap	swap	defaults	0	0

Compartir el fichero de swap entre Windows y Ubuntu

En Windows, el fichero de swap se llama "pagefile.sys". Es posible usar este fichero como fichero de swap en Linux. Solamente es preciso, en el Windows, asignar el fichero de swap, a una partición que se pueda escribir desde Linux y tenerlo con un tamaño fijo (en Panel de Control, Sistema, Opciones de Rendimiento).

Ubuntu 6.04 y 6.10

En Ubuntu 6.04 y 6.10 hay que seguir las mismas instrucciones ilustras arriba para usarlo como fichero de swap en Linux, con la salvedad de que en este caso, no funcionaria lo de editar el fichero fstab para que lo use linux automáticamente. Nos quedaría pues, repetir cada vez que iniciemos Linux, el mkswap y swapon sobre el fichero, o mejor aun, crear un pequeño script como el que sigue para que cada vez que inicialice Ubuntu, lo haga por nosotros.


El script swapwin.sh seria algo tan sencillo como :

mkswap /media/swapwin/pagefile.sys
swapon /media/swapwin/pagefile.sys

donde "/media/swapwin" seria la carpeta en la que su Ubuntu monta la partición FAT donde esta ubicado el fichero pagefile.sys.

Este scrip lo ubicaremos en /etc/init.d, y le daríamos permisos de ejecucion con chmod 755 swapwin.sh o chmod 777 swapwin.sh Luego para que Ubuntu, realmente ejecute este pequeño script al arrancar, solo nos quedaría hacer un enlace simbólico de este fichero hacia /etc/rc2.d/S26swapwin. Haciendo esto, nos aseguramos que Ubuntu ejecute el script al arrancar y que ademas lo haga después de haber montado las particiones indicadas en fstab

En Ubuntu 6.04 o 6.10, por el momento parece ser que no es posible hacerlo en una partición NTFS, incluso usando el driver NTFS-3g. Pagefile.sys debe de estar en una partición FAT.

Ubuntu 7.04 Festy

El procedimento es el mismo que para Ubuntu 6.04 y 6.10, con la diferencia que si se puede hacer sobre una partición NTFS si se usa NTFS-3g. Aparentemene el metodo del fstab podria funcionar, pero realmente solo funciona si no entramos al windows (con lo cual, todo este proceso seria un poco estupido si no vas a usar windows)

Herramientas personales