Un archivo de swap es un archivo com�n, y no necesita ning�n tratamiento especial para el kernel. Lo �nico que le interesa al kernel es que este no tenga huecos y que est� preparado para ser utilizado por el utilitario mkswap. Este debe residir en un disco local, y no puede residir en un disco montado a trav�s de NFS por razones de implementaci�n.
El bit que indica espacios vac�os es importante. El archivo swap reserva espacio en disco de forma que el kernel pueda swapear una p�gina r�pidamente sin tener que atravesar por todas las cosas que son necesarias cuando aloca un sector de disco para un archivo. El kernel simplemente utiliza cualquier sector que ya haya sido alocado para el archivo. Debido a que un hueco en un archivo significa que no hay sectores de discos alocados (para ubicar en ese archivo) no es bueno que el kernel trate de hacer uso del mismo.
Una buena manera de crear un archivo de swap sin espacios vac�os es a trav�s del siguiente comando:
$
dd if=/dev/zero of=/extra-swap bs=1024 count=1024
1024+0 records in 1024+0 records out
$
donde /extra-swap
es el nombre del archivo swap y el tama�o
est� dado por el par�metro count=
. El tama�o m�s indicado
est� dado por un m�ltiplo de 4, debido a que el kernel escribe
p�ginas de memoria (memory pages), de 4 kb de tama�o. Si
el tama�o no es m�ltiplo de 4 los �ltimos kilobytes del archivo pueden ser
desperdiciados.
Una partici�n swap tampoco tiene nada especial. Estas se crean como cualquier otra partici�n, la �nica diferencia es que �sta es accedida de manera directa (al disco crudo), esto significa, que no contiene ning�n sistema de archivos. Es aconsejable marcar esta partici�n del tipo 82 (Linux Swap); Esto hace la lista de particiones mas clara, aunque no es estrictamente necesario para el kernel.
Una vez creado el archivo o la partici�n de swap, es necesario escribir unas marcas al comienzo del mismo que contienen informaci�n administrativas utilizadas por el kernel. El comando para realizar esto es mkswap, y la forma es la siguiente:
$
mkswap /extra-swap 1024
Setting up swapspace, size = 1044480 bytes
$
N�tese que el espacio swap aun no es usado, este existe, pero el kernel aun no hace uso de este para proveer memoria virtual.
Y Se debe ser muy cuidadoso cuando se usa el comando mkswap, ya que este no chequea que el archivo o la partici�n no est�n siendo usados por alguien m�s. Se puede f�cilmente sobre escribir importantes archivos y particiones con mkswap! Por suerte este comando solo deber�a ser necesario cuando se instala el sistema.
Actualmente el administrado de memoria Linux limita el tama�o de cada �rea de swap a 2 GB. De todas maneras se puede usar hasta 8 espacios de swap simult�neamente, logr�ndose un total de 16 GB. El real l�mite depende la versi�n del kernel, la versi�n de mkswap y de la arquitectura del hardware.
[21][21] Un gigabyte aqu�, un gigabyte all�, demasiado pronto para que comencemos a hablar de la memoria real.