Crear un archivo de swap
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 dices 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 un 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:
$ dd if=/dev/zero of=/media/swapfile bs=1M count=256 $ mkswap /media/swapfile
Y así la activamos:
$ sudo swapon 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 habe aumentado, y los espacios de intercabio activos.
Y para activarlo al arranque:
$ suso 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 en al que se peuda 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
Solo hay que seguir las instrucciones de como crear un fichero de swap tal como se indica arriba, pero usando el fichero pagefile.sys. El fichero puede estar ubicado en una partición NTFS si se ha instalado NTFS-3g
Añadido esta mini explicacion de como compartir el swap por ZardoZ (y corregido a Ubuntu 7.04)